2011-12-31 151 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