我有一个包含交易的 XML 提要,我需要获取标题和图像。
我使用 xpath,这是一个示例:(/deals/deal/deal_title
用于交易标题)
/deals/deal/deal_image
(用于交易图像)
问题是某些交易根本没有设置交易图像,因此当我将交易标题与交易图像链接时,有时会得到错误的图像。
为了追查问题,我创建了两个单独的数组:一个带有标题,另一个带有图像。
导致问题的奇怪之处在于,在图像数组上,空实例被移动到数组的末尾。
例如,如果我们假设“deal title2”没有图像而“deal title3”有图像,则“deal title3”图像用于“deal title2”。
使用此链接查看我制作的代码:http: //pastebin.com/HEuTJQjZ
有趣的部分开始于:$doc = new DOMDocument();
基本上它所做的是执行许多 xpath 查询来获取标题、图像、价格等,然后将它们添加到数据库中。
当交易没有设置标签时,问题就开始了,因此它只使用下一个值。
我不明白它如何神奇地将所有空实例移动到底部。Xpath 不应该对结果进行排序,对吗?
我什至尝试使用 [] 运算符来获取特定图像,但没有帮助,因为结果以错误的方式排序。
示例提要:http ://www.clickbanner.gr/xml/?xml_type=deals&affiliate_ID=14063
编辑:
真正的问题是 xpath 没有按文档顺序对结果进行排序,而是修改了预期的顺序。这是一个错误还是什么,或者有没有办法强制结果按文档顺序排序?另请参阅:XPath 查询结果顺序
先感谢您。