通过 XPath 表达式以数组形式查找 HTML 中的所有元素

时间:2021-04-11 02:51:49

标签: javascript xpath

有没有办法将所有与 XPath 表达式匹配的 HTML 节点收集为数组?

2 个答案:

答案 0 :(得分:1)

使用 Saxon JS 2 (https://www.saxonica.com/saxon-js/index.xml),您可以在浏览器中使用 XPath 3.1,并且可以使用例如

SaxonJS.XPath.evaluate(xPathExp, document, { resultForm : 'array', 'xpathDefaultNamespace' : 'http://www.w3.org/1999/xhtml' })

答案 1 :(得分:0)

这是代码片段:

function xPathFunct(xPathExp){
    var resXPath = document.evaluate(xPathExp, document, null, XPathResult.ANY_TYPE, null);
    var result=resXPath.iterateNext();
    var resArray = [];
    while (result){
        resArray.push(result);
        result=resXPath.iterateNext();
    }
    return resArray;
}