[英]Javascript XPATH Get Last Element of Repeating Child Nodes
我正在嘗試找到一種方法來獲取XML響應中元素的最后一個實例。 XML包含錯誤詳細信息,該錯誤詳細信息包含一個內部包含完整錯誤詳細信息的對象:
<error description="Anything">
<object>
<error description="Actual Error">
<!-- error information in here -->
<errorCode>123</errorCode>
<message>Error message</message>
</error>
</object>
</error>
我總是想要最后一個“錯誤”,我可以從上面的錯誤中獲得錯誤的詳細信息
error.xpath('/error/object/error').item(0).getAttribute('description');隨后是后續詳細信息(代碼,消息等)
如果錯誤已通過多個異常處理程序冒出,則會出現問題,因為每個異常處理程序都會添加自己的錯誤元素,因此最終看起來像這樣:
error.xpath('/error/object/error/object/error').item(0).getAttribute('description');
這種重復的對象錯誤模式可能會持續不止一次,具體取決於重新拋出異常的次數。 要從上面獲取詳細信息,我需要:
error.xpath('/ error / object / error / object / error')。item(0).getAttribute('description');
我永遠不會期望超過2或3次重新拋出,但是我不想編寫討厭的代碼來嘗試捕獲4個不同級別的代碼。
我已經讀過關於'last()'並嘗試過
(// element [@ name ='error'])[last()]但我認為語法錯誤,因為它返回未定義。
是否有一種簡單的方法可以始終獲取這種重復XML樹中“錯誤”元素的最后(最深)實例?
我只想讀取XML中的數據,不需要翻譯或更改任何內容。
非常感謝!
您可以使用XML Spear從xml復制X路徑。 那可以幫助您入門。
您可以在http://www.donkeydevelopment.com上找到免費軟件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.