2011-12-31 43 views

回答

4

使用

(//*[text() 
     [contains(., 'My String')] 
    ] 
)[1] 

这将选择具有文本子节点包含字符串"My String" XML文档中的第一个元素。

如果可以保证只有一个这样的元素的存在,上述表达式可以简化为:

//*[text() 
     [contains(., 'My String')] 
    ] 

如果你正在寻找的元素被保证具有只是一个单一的文本节点的孩子,这表达式可以简化为:

(//*[contains(., 'My String')])[1] 

分别为:

//*[contains(., 'My String')] 
+0

正是我需要的,谢谢! – TMichel 2012-01-11 18:59:46

+0

@TMichel:不客气。请考虑接受这个答案(点击答案旁边的复选标记)。 – 2012-01-11 19:20:28

1

尝试像//text()[contains(., 'My String')]/..这样的路径。

+0

马丁,通常有一个不包含反转轴的表达式。 – 2011-12-31 18:33:33