使用XPathResult

时间:2010-09-17 22:44:54

标签: xpath

我在mozilla开发者网站上找到关于XPathResult的小文档。列出的所有功能都重定向到主页面,因此它们可能尚未记录。

var myFind;
myFind = document.evaluate(
    '/html/body/table[1]',
    document,
    null,
    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
    null);

我正在寻找一种方法来提醒给定路径下的HTML树。

使用alert(myFind);不起作用,它只是提供“XPathResult”。 它下方只有一个tbody和一堆tr元素,我希望它们都能在一个警报中看到它们为1个字符串。

myFind可以使用哪些功能来执行此操作?

1 个答案:

答案 0 :(得分:5)

var myFind;
myFind = document.evaluate(
    '/html/body/table[1]',
    document,
    null,
    XPathResult.FIRST_ORDERED_NODE_TYPE,
    null);

var node = myFind.singleNodeValue;

我正在使用FIRST_ORDERED_NODE_TYPE因为你只是在找一张桌子。 singleNodeValue允许您提取节点。

现在节点是常规HTML DOM Node。您可以按照与任何其他节点相同的方式对其进行序列化,例如与serializeToString

new XMLSerializer().serializeToString(node)

您可能会发现Using XPathXPathResult有帮助。