这是Javascript中的有效XPath:
id("priceInfo")/div[@class="standardProdPricingGroup"]/span[1]
这将转换为有效的PHP以便与DOMXPath一起使用-> XPath ()是
//*[@id="priceInfo"]//div[@class="standardProdPricingGroup"]//span[1]
我主要担心的是可能会有很多不同之处,我希望找出这些不同之处,但我在找出这些不同点时遇到了问题。
这个问题也可以用不同的方式提出:由于Javascript可以有不同的有效XPath格式,如何将它们规范化以与PHP.一起工作
其中一个更新还提到,如果存在包含此定义的有效XPath,则id()函数是有效的DTD。我没有能力控制输入DTD,如果有一种方法可以找到一个不需要任何特定DTD就能工作的解决方案,那就太棒了。
更新:
我想用一个算法把第一种格式转换成第二种格式。我的输入是第一个,而不是第二个。不能改变这一点。
正如@Nison Maël指出的,第二种格式是有效的Javascript XPath,如下所示:http://jsbin.com/elatum/2/edit这不幸地增加了Javascript XPath“碎片”的问题。
@salathe指出,如果文档中的输入具有有效的XPath,那么有效的Javascript DTD查询在PHP中工作得很好( @Dimitre Novatchev在评论中提到了这一点,但忽略了重要性)。不幸的是,我无法控制输入的DTD,所以现在我必须研究一种方法来克服这个问题,或者找到一种即使没有有效的DTD也能工作的解决方案。
https://stackoverflow.com/questions/11796340
复制相似问题