2013-04-30 90 views
0

有人可以請我看看我應該用來檢索第二個txnDetail節點的billAmount的XPath格式嗎?命名空間節點上需要XPath格式

我期待值10.00,但我有問題的命名空間和「a:」和XPath無法檢索正確的值。

<TransactionRsp xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
    <avlBal>818.00</avlBal> 
    <blkAmt>0.00</blkAmt> 
    <cardID>2561683577196298</cardID> 
    <currBill>GBP</currBill> 
    <endBal>390.00</endBal> 
    <logDateTime>2013-04-30T12:17:20.4249292Z</logDateTime> 
    <msgID>121719721</msgID> 
    <rspCode>000</rspCode> 
    <startBal>400.00</startBal> 
    <txnDetail xmlns:a="http://schemas.datacontract.org/2004/07/CoreModels"> 
     <a:txnDetail> 
     <a:billAmount>400.00</a:billAmount> 
     <a:billConvRate>0.00</a:billConvRate> 
     <a:blkAmount>0.00</a:blkAmount> 
     <a:debOrCred>1</a:debOrCred> 
     <a:itemID>2278</a:itemID> 
     <a:itemType>6</a:itemType> 
     <a:txnAmount>0.00</a:txnAmount> 
     <a:txnCurrency/> 
     <a:txnDateTime>2012-02-23T14:35:45</a:txnDateTime> 
     <a:txnDescription></a:txnDescription> 
     </a:txnDetail> 
     <a:txnDetail> 
     <a:billAmount>10.00</a:billAmount> 
     <a:billConvRate>0.00</a:billConvRate> 
     <a:blkAmount>0.00</a:blkAmount> 
     <a:debOrCred>0</a:debOrCred> 
     <a:itemID>3058</a:itemID> 
     <a:itemType>5</a:itemType> 
     <a:txnAmount>0.00</a:txnAmount> 
     <a:txnCurrency/> 
     <a:txnDateTime>2012-07-30T12:22:14</a:txnDateTime> 
     <a:txnDescription>Fee: Card Issue</a:txnDescription> 
     </a:txnDetail> 
    </txnDetail> 
</TransactionRsp> 
+0

您是否特別使用任何編程語言來處理這個或簡單的普通XPath? – 2013-04-30 15:54:58

+0

簡單的普通XPath。沒有辦法在IDE中註冊命名空間,我正在使用它 – user1164713 2013-05-01 06:37:19

回答

0

它是:

//TransactionRsp/txnDetail/a:txnDetail[2] 

但是,根據您的編程語言,您可能需要註冊a命名空間。該文檔也可能具有默認名稱空間。 (不要指望你張貼的所有XML是整個文檔)

0

我已成功使用以下XPath拉動相關數據: /TransactionRsp/txnDetail/[本地名稱()='txnDetail '] [2]/ [local-name()='billAmount']

現在我需要知道如何只過濾出一個itemType = 6的txnDetail?

有什麼想法?