2012-05-10 61 views
1

一個XML文件抓取兩個屬性我有有一個標籤,如下一個XML文件:使用XPath

<locator xlink:type="locator" xlink:href="https://www.google.co.in/" xlink:title="Google" xlink:show="replace" xlink:actuate="onRequest" xlink:role="website" rank="1"> </locator> 

有與不同的角色和等級的xml文件很多定位標籤。

我能夠使用@*[local-name()='role'獲得上述標記的作用。

現在我需要根據角色獲得排名屬性。 有什麼辦法可以一起獲取兩個屬性和值?

我是Xpath新手。請幫我解決一下這個。

+1

您能不能告訴我們您的XML的一個樣本。 – Alex

回答

1

//locator[@xlink:role = 'website']/@rank(在適當的結合前綴xlink到命名空間http://www.w3.org/1999/xlink的)是選擇locator元件,其中rolewebsiterank屬性的一個例子。

+0

謝謝Martin。我的XML文件有名稱空間http://www.w3.org/1999/xlink。但有了// locator [@xlink:role ='website']/@ Rank,我無法獲得網站角色的排名。 – user1386685

0

我能夠使用 @*[local-name()='role'得到上述標記的作用。

現在我需要根據角色獲得排名屬性。有沒有任何 方式來獲取兩個屬性,並有值?

使用

ExprStartYouDidntShow/@*[local-name()='role' or name()='rank'] 

其中ExprStartYouDidntShow是選擇的Elemen(一個或多個),其兩個屬性應選擇表達。

或者,如果你需要得到這兩個屬性,只有當role屬性具有特定值 - 說"wantedValue",用途:

ExprStartYouDidntShow/locator[@*[local-name() = 'role'] = 'website'] 
         /@*[local-name()='role' or name()='rank'] 
+0

謝謝Dimitre。我能夠獲取角色和排名屬性。但我需要獲取特定角色屬性的排名。 – user1386685

+0

@ user1386685:我更新了我的答案,表達了這一新要求 - 將來,請定義更好的問題。 –

+0

我試着用更新後的代碼。還是行不通。我試過像這樣:「// locator [@ role ='definition']/@ * [local-name()='role'or name()='rank']」。 – user1386685