2016-01-16 42 views
1

這裏的XML代碼:使用XPath表達式中的屬性從元素中獲取文本?

<perfil> 
     <person idP="P1"> 
      <studied refidEs="Es3"/> 
    . 
    . 
    . 

    <schools> 
     <school idEs="Es3"> 
      <name>Name of the school</name> 
     </school> 

在我有一定的學校做了一個參考文檔的開始,我到底有其正確的ID學校的名稱。在XPath表達式中,我必須提及開始時的內容(例如perfil/person/studied[@refidEs]),並且我希望它顯示學校的名稱。問題是,當我在示例中使用表達式時,它只顯示學校的ID。即使我以/text()結束,它也不會顯示結果。

回答

0

此XPath表達式將與Es3一個@idEs屬性值選擇schoolname的字符串值:

string(//school[@idEs='Es3']/name) 

在所提供的XML的情況下(假設它的完整的,良好的,和沒有其他school元素具有相同Es3屬性值),這將選擇:

Name of the school 
+0

我真的很感謝你的幫助,是的,它的形成以及完整的,它是與屬性值的唯一元素。感謝您的幫助! – ERod52

0

這就是你的目標由元素它的ID與xpaths:

//school[@idEs='Es3']/name[1] 

Xpaths允許您選擇這種方式的任何屬性。例如,您可以將@idEs=替換爲其他任何屬性選擇器,例如@class=。接下來的部分將獲得第一個元素的值,這是您嘗試定位的元素。

看看本作進一步澄清http://www.w3schools.com/xsl/xpath_syntax.asp

+0

謝謝@AlexanderGriffin您的回答非常有幫助,以及該網站! – ERod52

相關問題