在PHP中评估XPath 2.0

3
我目前正在开发一个使用PHP编写的项目,并想在XML文件上评估XPath表达式。由于这些文件相当复杂,我的XPath包含类似于for...in...return循环或其他XPath 2.0引入的功能。不幸的是PHP的DOMXPath类仅支持XPath 1.0,并且我没有找到可用于PHP的任何XPath 2.0求值器。有人面临过同样的问题并找到了解决方案吗?

实际上是libxml2不支持它。虽然有一些PHP的XQuery实现,但你可能需要为其中一个流畅的DOM前端重写它。 - mario
1个回答

3

Saxon/C(目前处于测试版)可以从PHP中调用。它是开源的,遵循Mozilla Public License 2.0条款。支持Linux、Windows和Mac OS X。

或者,如果不支持XPath 2.0,您可以重写XPath以使用正确的XPath 1.0,并在PHP本身外部进行迭代等操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接