欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

我想用php读取xml的三个值

程序员文章站 2024-01-18 17:57:40
...
$url="http://www.cailele.com/static/ssc/newlyopenlist.xml";		$doc = new DOMDocument();		$doc->load($url); //读取xml文件		$lst = $doc->getElementsByTagName('row');		for ($i=0; $iitem($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);		 } 		 

我想读取xml的expec,opencode,opentime三个值,不知道为什么读取不上,求解答


回复讨论(解决方案)

$xml = xml;$doc = new DOMDocument();$doc->loadXML($xml); //读取xml文件$items = $doc->getElementsByTagName('row');for ( $i  =  0 ;  $i   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);}

经测试,你的代码没有问题
问题在于 $doc->load($url); 取不到值
该 url 用 file_get_contents 也取不到值
只有用 curl 才可取到

取到后可用 $doc->loadXML($str) 载入
然后就可用你的代码处理了

经测试,你的代码没有问题
问题在于 $doc->load($url); 取不到值
该 url 用 file_get_contents 也取不到值
只有用 curl 才可取到

取到后可用 $doc->loadXML($str) 载入
然后就可用你的代码处理了


能不能帮我发一下改了以后的代码,万分感谢

$url = "http://www.cailele.com/static/ssc/newlyopenlist.xml";$doc = new DOMDocument();$doc->loadXML(curl_get($url));$lst = $doc->getElementsByTagName('row');for ($i=0; $iitem($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

不错不错不错不错

$url = "http://www.cailele.com/static/ssc/newlyopenlist.xml";$doc = new DOMDocument();$doc->loadXML(curl_get($url));$lst = $doc->getElementsByTagName('row');for ($i=0; $iitem($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


非常感谢,分都给你了,我还有别的问题,想发帖没分了,可不可以给我点分

给了你 200 可用分