$xml = <<<xml
<?xml version="1.0" encoding="utf-8"?>
<xml><row expect="20140421005" opencode="5,7,3,1,5" opentime="2014-04-21 00:25:30" /><row expect="20140421004" opencode="9,4,7,4,5" opentime="2014-04-21 00:20:30" /><row expect="20140421003" opencode="3,4,4,3,9" opentime="2014-04-21 00:15:30" /><row expect="20140421002" opencode="7,0,2,9,4" opentime="2014-04-21 00:10:30" /><row expect="20140421001" opencode="6,3,8,3,1" opentime="2014-04-21 00:05:30" /><row expect="20140420120" opencode="6,9,3,5,3" opentime="2014-04-21 00:00:30" /><row expect="20140420119" opencode="7,7,0,7,2" opentime="2014-04-20 23:55:30" /><row expect="20140420118" opencode="8,9,4,6,9" opentime="2014-04-20 23:50:30" /><row expect="20140420117" opencode="1,1,2,4,0" opentime="2014-04-20 23:45:30" /><row expect="20140420116" opencode="4,3,8,1,0" opentime="2014-04-20 23:40:30" /></xml>
xml;
$doc = new DOMDocument();
$doc->loadXML($xml); //读取xml文件
$items = $doc->getElementsByTagName('row');
for ( $i = 0 ; $i < $items -> length ; $i ++) {
$t1 = $items -> item ( $i )->getAttribute('expect');//expect的值
$t2 = $items -> item ( $i )->getAttribute('opencode');//opencode的值
$t3 = $items -> item ( $i )->getAttribute('opentime');//opentime的值
var_dump($t1.'|'.$t2.'|'.$t3);
}
<?xml version="1.0" encoding="utf-8"?>
<xml><row expect="20140421005" opencode="5,7,3,1,5" opentime="2014-04-21 00:25:30" /><row expect="20140421004" opencode="9,4,7,4,5" opentime="2014-04-21 00:20:30" /><row expect="20140421003" opencode="3,4,4,3,9" opentime="2014-04-21 00:15:30" /><row expect="20140421002" opencode="7,0,2,9,4" opentime="2014-04-21 00:10:30" /><row expect="20140421001" opencode="6,3,8,3,1" opentime="2014-04-21 00:05:30" /><row expect="20140420120" opencode="6,9,3,5,3" opentime="2014-04-21 00:00:30" /><row expect="20140420119" opencode="7,7,0,7,2" opentime="2014-04-20 23:55:30" /><row expect="20140420118" opencode="8,9,4,6,9" opentime="2014-04-20 23:50:30" /><row expect="20140420117" opencode="1,1,2,4,0" opentime="2014-04-20 23:45:30" /><row expect="20140420116" opencode="4,3,8,1,0" opentime="2014-04-20 23:40:30" /></xml>
xml;
$doc = new DOMDocument();
$doc->loadXML($xml); //读取xml文件
$items = $doc->getElementsByTagName('row');
for ( $i = 0 ; $i < $items -> length ; $i ++) {
$t1 = $items -> item ( $i )->getAttribute('expect');//expect的值
$t2 = $items -> item ( $i )->getAttribute('opencode');//opencode的值
$t3 = $items -> item ( $i )->getAttribute('opentime');//opentime的值
var_dump($t1.'|'.$t2.'|'.$t3);
}
解决方案 »
- js中套php,js退出php的foreach退不出来
- csdn怎么不开个flash as3版块
- 页面中点击按钮执行一个函数onclick
- 求一个zend framework环境搭配的教程
- adodb在执行查询语句时出错(Allowed memory size of XXX bytes exhausted)
- require_once "smarty\libs\Smarty.class.php"unexpected T_CONSTANT_ENCAPSED_STRING
- 哪位兄弟给一个insert例句,20分送了!!
- 在线等一条SQL语句
- 即使关了浏览器,php仍将在服务器上运行的方法zz
- 任何获取http://www.dizhi.com/aaa.php?id=001 中id的值
- linux下php无法使用mysql
- 静态url,用正则获取URL参数进行路由好还是htacess重写好?
问题在于 $doc->load($url); 取不到值
该 url 用 file_get_contents 也取不到值
只有用 curl 才可取到取到后可用 $doc->loadXML($str) 载入
然后就可用你的代码处理了
$doc = new DOMDocument();
$doc->loadXML(curl_get($url));
$lst = $doc->getElementsByTagName('row');
for ($i=0; $i<2; $i++) {
$iframe= $lst->item($i);
$t1=$iframe->attributes->getNamedItem('expect')->value;
$t2=$iframe->attributes->getNamedItem('opencode')->value;
$t3=$iframe->attributes->getNamedItem('opentime')->value;
$t1=substr($t1,-9);
kjdata($t2,1,$t1,$t3);
}function kjdata() {
echo join(', ', func_get_args()), PHP_EOL;
}function curl_get($durl) {
$cookiejar = realpath('cookie.txt');
$t = parse_url($durl);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$durl);
curl_setopt($ch, CURLOPT_TIMEOUT,5);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_REFERER, "http://$t[host]/");
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiejar);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$r = curl_exec($ch);
curl_close($ch);
return $r;
}
5,9,6,4,2, 1, 140421023, 2014-04-21 01:55:30
7,6,4,2,4, 1, 140421022, 2014-04-21 01:50:30
$doc = new DOMDocument();
$doc->loadXML(curl_get($url));
$lst = $doc->getElementsByTagName('row');
for ($i=0; $i<2; $i++) {
$iframe= $lst->item($i);
$t1=$iframe->attributes->getNamedItem('expect')->value;
$t2=$iframe->attributes->getNamedItem('opencode')->value;
$t3=$iframe->attributes->getNamedItem('opentime')->value;
$t1=substr($t1,-9);
kjdata($t2,1,$t1,$t3);
}function kjdata() {
echo join(', ', func_get_args()), PHP_EOL;
}function curl_get($durl) {
$cookiejar = realpath('cookie.txt');
$t = parse_url($durl);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$durl);
curl_setopt($ch, CURLOPT_TIMEOUT,5);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_REFERER, "http://$t[host]/");
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiejar);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$r = curl_exec($ch);
curl_close($ch);
return $r;
}这样也还是读不到。