我有這樣的XML揭祕XPATH
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/12.1X46/junos">
<environment-information xmlns="http://xml.juniper.net/junos/12.1X46/junos-chassis">
<environment-item>
<name>Routing Engine</name>
<class>Temp</class>
<status>Failed</status>
<temperature junos:celsius="50">50 degrees C/122 degrees F</temperature>
</environment-item>
<environment-item>
<name>Routing Engine CPU</name>
<status>Absent</status>
</environment-item>
<environment-item>
<name>Power Supply 0</name>
<class>Power</class>
<status>OK</status>
</environment-item>
<environment-item>
<name>Power Supply 1</name>
<class>Power</class>
<status>Absent</status>
</environment-item>
</environment-information>
<cli>
<banner></banner>
</cli>
</rpc-reply>
我要顯示所有「環保項目」不具有狀態=「缺席」。
我已經嘗試了很多網站來測試XPATH,但都沒有拿出答案。我認爲這將是/rpc-reply/environment-information/*[not(contains(status, 'Absent'))]
或/rpc-reply/environment-information[1]/*[not(contains(status, 'Absent'))]
,但它不起作用。
兩個問題:
- 這有什麼錯我的XPATH?
- 有沒有可靠的網站來測試它?我已經瀏覽了谷歌的前三頁,但是由於我無法獲得XPATH來處理其中的任何一個,所以我很難評估它們。
感謝任何解釋。如果我不得不選擇,寧願拿一根釣魚竿而不是一條魚! :)
親切的問候, 帕特里克
這是頭號大象陷阱使用XPath - 已忽略的命名空間。 –