我目前正在开发一个使用PHP编写的项目,并想在XML文件上评估XPath表达式。由于这些文件相当复杂,我的XPath包含类似于for...in...return循环或其他XPath 2.0引入的功能。不幸的是PHP的DOMXPath类仅支持XPath 1.0,并且我没有找到可用于PHP的任何XPath 2.0求值器。有人面临过同样的问题并找到了解决方案吗?
Saxon/C(目前处于测试版)可以从PHP中调用。它是开源的,遵循Mozilla Public License 2.0条款。支持Linux、Windows和Mac OS X。 或者,如果不支持XPath 2.0,您可以重写XPath以使用正确的XPath 1.0,并在PHP本身外部进行迭代等操作。