2013-08-05 112 views
0

任何人都可以幫忙。我有下面的XML:XML XPATH查詢示例

<metadata> 
    <item> 
    <tag>CustomerNumber</tag> 
    <value type="string">pa440309201</value> 
    </item> 
    <item> 
    <tag>DocumentType</tag> 
    <value type="string">Proof of ID</value> 
    </item> 
    <item> 
    <tag>Branch</tag> 
    <value type="string">Derby</value> 
    </item> 
    <item> 
    <tag>StoreCode</tag> 
    <value type="string">440</value> 
    </item> 
</metadata> 

我需要提取項目的商店代碼的價值,所以需要閱讀元素的值文本時一個項目的Tag等於商店代碼 - 我需要這樣做來自多個XML文件,並且ITEM的順序並不總是相同。

在此先感謝

約翰

回答

3

應該是這樣的:

/metadata/item[tag='StoreCode']/value 

this article的謂語部分,並認爲你tag元素作爲類似的到本例中的price元素。

注:這是未經測試...

+0

事實上,比我更優雅;) –

0

嘗試:

'//item[tag[.="StoreCode"]]/value/text()' 

,或者更容易理解:

'//item[tag[text()="StoreCode"]]/value/text()'