0

2 番目の 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>
4

2 に答える 2

0

次の XPath を使用して関連データを引き出すことができました: /TransactionRsp/txnDetail/ [local-name()='txnDetail'][2]/ [local-name()='billAmount']

ここで、itemType = 6 の txnDetail のみを除外する方法を知る必要があります??

何かご意見は ?

于 2013-05-01T09:48:46.010 に答える
0

これは:

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

ただし、プログラミング言語によっては、a名前空間を登録する必要がある場合があります。ドキュメントには、デフォルトの名前空間もある場合があります。(投稿したxmlがドキュメント全体であるとは思わないでください)

于 2013-04-30T15:37:45.673 に答える