簡體   English   中英

Javascript XPATH獲取重復子節點的最后一個元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM