2

我试图在 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 和警报获取文本“needTHIStext”?

编辑:感谢您指出我的愚蠢错误:)。如果有人想做一些 xpathing,它现在可以工作了;)

4

2 回答 2

0

它是FIRSTTD 而不是第二个。

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);
于 2012-06-17T12:34:01.417 回答
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);
于 2012-06-17T12:34:32.477 回答