日期:2014-05-17  浏览次数:20516 次

php通过simplexml无法读取xml内的数据。。。纯菜鸟学习,少拍我哈。。
一个product.xml文档,内容为:(类似的item条目有多个)
<?xml version="1.0" encoding="UTF-8"?>
<product>

<item>
<name>product1</name>
<picurl>images/product.jpg</picurl>
<discription>discription...discription...</discription>
</item>
</product>

调用数据的PHP文档内容为
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
  $xml=simplexml_load_file("products.xml");
  $part=$xml->product->item; 
  $k=0;
  while($k<12){
  echo "<dl ><dt>".$part[$k]->name."</dt><dd><a href='".$part[$k]->link."' target='_blank'><img src='".$part[$k]->picurl."' alt='".$part[$k]->name."'/></a></dd><dd class='disc'>".$part[$k]->discription."</dd></dl>";
  $k++;
  }
?> 
</body>
</html>

调用结果,输出的HTML语句都是对的。但就是没有xml文档标签内的数据。
求赐教!!!!!不胜感激~~~~~PS:我是纯菜鸟,表过度鄙视我。。。

------解决方案--------------------
$part = $xml->product->item;
应为
$part = $xml->item;

即根节点不在访问之列
这一点你可以通过 print_r($xml) 观察到