2014-04-08 40 views
2

我有以下XML結構:嵌套xpath:如何將XPath表達式的結果用作值?

<xml> 
     <value>b</value> 
     <objects> 
     <object> 
      <value>a</value> 
     </object> 
     <object> 
      <value>b</value> 
     </object> 
     </objects> 
    </xml> 

我想是選擇基於XML值的第二個對象。

此XPath的工作原理:

//xml/objects/object[value = 'b'] 

此XPath不返回的結果:不支持

//xml/objects/object[value = //xml/value/text()] 

嵌套的XPath表達式?

回答

1

他們,但謂詞中的搜索永遠是相對於上下文您目前英寸

目前你開始尋找一個<xml/>元件,它的<object/>一個孩子,因爲有沒有這將產生空結果集。

使用../parent::*你可以去一個軸步進到父,可以選擇所需的值:

//xml/objects/object[value = ../../value]