日期:2014-05-16  浏览次数:20535 次

我想用php读取xml的三个值
$url="http://www.cailele.com/static/ssc/newlyopenlist.xml";
$doc = new DOMDocument();
$doc->load($url); //读取xml文件
$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);
 } 
 

我想读取xml的expec,opencode,opentime三个值,不知道为什么读取不上,求解答
------解决方案--------------------
$url = "http://www.cailele.com/static/ssc/newlyopenlist.xml";
$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