我们需要在 XML 文件中找到所有 prefix:namespace 对。我们允许用户提供任何 XML 文件和任何 XPath 以对其进行查询。在评估 XPath 时,我们需要找到 prefix:uri 映射来设置它们。
我们目前使用:
selectNodes("//namespace::*[name() != 'xml'][not(../../namespace::*=.)]");
这确实会返回所有对。问题是它很慢。我看了这个答案,但它也很慢。有没有快速的方法来做到这一点?我只需要它来针对 XML 执行 XPath 查询。
我在 Java(使用 dom4j)和 .NET 中都这样做。
谢谢 - 戴夫