尝试使用PHP做两件事
1)使用xpath()运行一个选择所有Product标签的xpath查询。这应该返回一个表示每个Product标签的SimpleXMLElements数组。
2)再次使用xpath()从每个Product标签中选择ProductCode和ProductName并获取其内容。
我的XML是
<All_Products>
<Product>
<ProductCode>9978H</ProductCode>
<ProductName>abc with Buckle in aBlack</ProductName>
<ProductURL>http://abc.com/abc with Buckle in aBlack-p/9978H.htm<ProductURL>
<StockStatus>2</StockStatus>
</Product>
<Product>
<ProductCode>99s</ProductCode>
<ProductName>abc with Buckle in aBlack</ProductName>
<ProductURL>http://abc.com/abc with Buckle in aBlack-p/9978H.htm</ProductURL>
<StockStatus>2</StockStatus>
</Product>
</All_Products>
我的PHP代码如下所示,但它没有返回任何产品标签,产品代码等,我的代码中有什么问题
$xml = simplexml_load_file('http://www.abc.com/xml.php');
if ($xml === false) {
echo 'Error while parsing the document';
exit;
}
$dom_sxe = dom_import_simplexml($xml);
if (!$dom_sxe) {
echo 'Error while converting XML';
exit;
}
$result = $xml->xpath('/All_Products/Product');
while(list( , $node) = each($result)) {
echo '/a/b/c: ',$node,"\n";
}
答案 0 :(得分:0)
首先,您的XML无效 - “ProductURL”标记未关闭。 其次“$ node”将是一个对象,因此你无法以这种方式打印它。