有人可以告诉我我应该用来检索第二个txnDetail节点的billAmount的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 :(得分:0)
这是:
//TransactionRsp/txnDetail/a:txnDetail[2]
但是,根据您的编程语言,您可能必须注册a
命名空间。该文档也可能具有默认命名空间。 (不要指望您发布的xml是整个文档)
答案 1 :(得分:0)
我已设法使用以下XPath提取相关数据: / TransactionRsp / txnDetail / [本地名称()= 'txnDetail'] [2] / [本地名称()= 'billAmount']
现在我需要知道如何仅使用itemType = 6过滤掉txnDetail?
有什么想法吗?