1

IIS サーバーに XML ファイル ストアがあります。タグ<amount>内の値を取得しようとしています。<TotalNetCharge>

ファイルの場所にあるタグは次のとおりです。

<TotalNetCharge>
<Currency>USD</Currency> 
<Amount>92.33</Amount> 
</TotalNetCharge>

変数で XML を使用し、ファイルから読み込もうとしました。どちらも機能しません。コードは次のとおりです。

Set oXML = Server.CreateObject("MSXML2.DomDocument.4.0")
'oXML.LoadXML(SOAPResponse) 
oXML.LoadXML("D:\myfile\XMLReply.xml")
For Each oNode In oXML.SelectNodes("//TotalNetCharge/Amount")
    Response.Write "test"
Next

Set oXML = Nothing

画面には何も書き込まれないので、ループに入って画面に「テスト」が書き込まれるため、データが読み込まれていないと想定しています。また、コメントアウトされた部分 (SOAPResponse) を読み込んでみました。これは、Response.Write を画面に表示するため、データが含まれていることがわかっています。誰?このナンセンスで2日間。

更新、これが機能した代替コードです。

Set objXMLDoc = CreateObject("Microsoft.XMLDOM")
objXMLDoc.async = False
objXMLDoc.loadXML(SOAPResponse)

Dim TransactionDetail, CustomerTransactionId

Set NodeList = objXMLDoc.getElementsByTagName("ServiceType")
For Each Node In NodeList
   Response.write(Node.text & "<br>")
Next
Set NodeList = objXMLDoc.getElementsByTagName("TotalNetCharge")
For Each Node In NodeList
   Response.write(Node.text & "<br>")
Next
4

1 に答える 1

2

オブジェクト メソッドが間違っています。

  • loadXMLは、ファイルや URL からではなく、文字列から直接 XML ドキュメントをロードするためのものです。
  • loadは、URL からロードするために必要なものです
于 2013-01-31T03:26:16.160 に答える