2012-08-13 62 views
0
<E st="SS" > 
     <id>789</id> 
     <name>Study Table 1200 C2</name> 
     <vlid>1</vlid> 
     <E st="SS" > 
      <id>567</id> 
      <name>Study Table1</name> 
      <vlid>94611431277729312</vlid> 
     </E> 
     <E st="SS" > 
      <id>345</id> 
      <name>Study -SOFT1</name> 
      <vlid>94611431277729311</vlid> 
     </E> 
     <E st="SS" > 
      <id>123</id> 
      <name>Study Table 02</name> 
      <vlid>94611431277729309</vlid> 
     </E> 
    </E> 

在這裏我想要得到節點的值,其中vlid = 3。我寫的xpath是 (//E[vlid=94611431277729312]/id)。結果是<id>567</id>,<id>345</id><id>123</id>

而是我只想要一個ID,即<id>567</id>。 請幫我解釋爲什麼我無法得到例外輸出。通過xpath得到當前節點的值

在此先感謝

回答

1

它會工作,如果你將匹配值作爲字符串

//E[vlid="94611431277729312"]/id 
+0

謝謝..現在這是完美的工作。謝謝你的幫助。 – 2012-08-13 11:46:20

+0

不客氣。我不能給出鏈接,爲什麼與'int'匹配不會給出預期的結果。 – Bob 2012-08-13 11:49:51

+0

okey ..不用擔心.. – 2012-08-13 11:50:54

0

試試這個:

//E[vlid=3]/id[2] 

像柯林說,嘗試接受解決您的問題的答案。

+0

是的,這是工作。但我有一個巨大的XML。我必須用它的vlid來獲得節點的價值,因爲它對每個人節點都是這個xml中唯一的。任何其他方式是否存在這個問題? – 2012-08-13 11:41:45

+0

現在,我會接受解決我的問題的答案。謝謝 – 2012-08-13 11:42:58