是否有任何更短的表达式可以通过 XPath 获取 DOM 节点,从以下需要大量变量的命令中更简洁。
doc.evaluate(xpath, doc, nsResolver, XPathResult.ANY_TYPE, null);
是否有任何更短的表达式可以通过 XPath 获取 DOM 节点,从以下需要大量变量的命令中更简洁。
doc.evaluate(xpath, doc, nsResolver, XPathResult.ANY_TYPE, null);
据我所知,Firefox 只支持 DOM Level 3 XPath API,其中部分evaluate
功能是。如果你想要更短的东西,那么你需要自己动手(或找到一个为你做的库),或者你需要使用不同的浏览器,例如使用 Opera,你可以node.selectSingleNode(path [,nsResolver])
选择一个节点,node.selectNodes(path [, nsResolver])
你可以选择节点的 DOM NodeList。在您与 IE 一起使用的 MSXML 的 XML DOM 实现中,您还拥有selectSingleNode
和selectNodes
功能,尽管命名空间处理与 Opera 实现不同,因为您需要使用 MSXML document.setProperty('SelectionNamespaces', 'xmlns:pf1="http://example.com/ns1" xmlns:pf2="http://example.com/ns2"')
。