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),因为我将其响应写入屏幕。任何人?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用于直接从字符串加载 XML 文档,而不是从文件或 URL
  • load是您想要从 URL 加载的内容
于 2013-01-31T03:26:16.160 回答