XML文件可以看到下面:的SimpleXML的XPath
#
我如何可以编写它,因此产品并提供数据显示在顺序。
目前我已经尝试下面的代码:
foreach ($xml->GeneralSearchResponse->categories->category->items->xpath('/product | /offer') as $product)
{
print $product->name;
}
然而,这并不显示任何数据。
感谢,
杰克
XML文件可以看到下面:的SimpleXML的XPath
#
我如何可以编写它,因此产品并提供数据显示在顺序。
目前我已经尝试下面的代码:
foreach ($xml->GeneralSearchResponse->categories->category->items->xpath('/product | /offer') as $product)
{
print $product->name;
}
然而,这并不显示任何数据。
感谢,
杰克
的XML通过提供的链接指向的是没有很好地形成。很可能你会得到一个XML解析错误。
更具体而言,任何&somename=
必须更改为&somename=
。
似乎还有其他严重的非法语法问题。
是的,我只是没有从每条语句中获取数据。 – JackTheJack 2011-12-29 19:12:14
@JackTheJack:因此,问题根本不在于XPath。首先,纠正数据,以便您有一个格式良好的XML文档。 – 2011-12-29 19:17:04
此外,我认为值得注意的是在* foreach和整个文档之前执行xpath *。这样的责任更清楚:xpath表达式获取节点列表,foreach遍历它。调试也变得更容易。 – hakre 2011-12-29 19:45:53
哪种订单?哪个XML元素代表一个产品以及哪个产品? - 到目前为止您尝试了什么,请添加您的代码并显示xpath中哪些部分存在特定问题。 – hakre 2011-12-29 19:00:17
嗨 和 它也可以以任何顺序。 –
JackTheJack
2011-12-29 19:02:00
我曾尝试: 的foreach($ XML-> GeneralSearchResponse->分类 - >类别 - >物品─>的XPath( '/产品| /报价')为$产品) { \t打印$产品 - >名称; } – JackTheJack 2011-12-29 19:03:01