我试图在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,它现在有效;)答案 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);