2010-01-04 35 views
44

我试图用从分析的XML文档在特定的innerText提取的元素。我知道,我可以选择与使用//myparent[mychild='foo']特定的innerText孩子的元素,但其实我只是想选择在这个例子中,“mychild”元素。的XPath选择通过的innerText

<myparent> 
    <mychild> 
    foo 
    </mychild> 
</myparent> 

什么是将返回“mychild”节点的“foo”的XPath查询?

回答

69

你试过吗?

//myparent/mychild[text() = 'foo'] 

或者,可以用快捷的self轴:

//myparent/mychild[. = 'foo'] 
+4

或// myparent [mychild ='foo'] – 2010-01-04 10:54:34

+0

@subtenante:谢谢,这正是我所需要的。 – kdt 2010-01-04 10:58:11

+2

@Matt:如果OP想选择mychild元素,那么你的解决方案将不起作用,它会选择myparent元素。 – glmxndr 2014-01-21 08:55:18

3

马特说,但完整的解决方案:// myparent [mychild = '富']/mychild

+0

它搜索“myparent”的所有子节点,其中“myparent”的任何“mychild”具有“foo”作为内部文本。 – Civa 2013-12-09 09:29:58