2010-09-17 17 views
4

我在mozilla developper站点上找到XPathResult上的一些文档。列出的所有功能都重定向到主页面,所以它们可能还没有记录。使用XPathResult

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

我正在寻找一种方法来提醒给出的路径下的HTML树。使用alert(myFind);不起作用,它只是给出“XPathResult”。 下面只有一个tbody和一堆tr元素,我想以一个字符串的形式在警报中看到它们。

myFind可以使用什么函数来执行此操作?

回答

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很有帮助。