不能让xpath工作在JavaScript上

时间:2012-06-17 12:30:49

标签: javascript xpath greasemonkey

我试图在Grease monkey上用javascript做简单的xpath,它对我不起作用,:

   var xmlString="<body>text<table class='citizens largepadded'><tr><td>bla</td></tr><tr><td>needTHIStext</td></tr></table></body>";
    var doc = new DOMParser().parseFromString(xmlString,'text/xml');
    var result = doc.evaluate("//table[@class='citizens largepadded']/tr[2]/td[1]", doc, null, XPathResult.STRING_TYPE, null);
    alert(result.stringValue);

如何通过xpath和alert来获取文本“needTHIStext”?

编辑:谢谢你指出我的愚蠢错误:)。如果有人想做一些xpathing,它现在有效;)

2 个答案:

答案 0 :(得分:0)

它是FIRST TD,而不是第二个。

var xmlString="<body>text<table class='citizens largepadded'><tr><td>bla</td></tr><tr><td>needTHIStext</td></tr></table></body>";
    var doc = new DOMParser().parseFromString(xmlString,'text/xml');
    var result = doc.evaluate("//table[@class='citizens largepadded']/tr[2]/td[1]", doc, null, XPathResult.STRING_TYPE, null);
    alert(result.stringValue);

答案 1 :(得分:0)

你几乎把它纠正了。您需要第二个<td>内的第一个<tr>,因此请使用/tr[2]/td[1]

var result = doc.evaluate("//table[@class='citizens largepadded']/tr[2]/td[1]", doc, null, XPathResult.STRING_TYPE, null);