我有一个XML,我用类型为Msxml2.DOMDocument.4.0
的对象读取。在此XML中,我收到ë
之类的字符。当我读到这个字符时,它会出现像这样�
的VBScript代码。 XML编码设置为UTF-8。
这是我收到的XML的一部分:
<?xml version="1.0" encoding="utf-8"?>
<shiporder>
<DriverData>
<DriverLicenseCountry>Australië</DriverLicenseCountry>
</DriverData>
</shiporder>
这是我用来创建对象的vbScript代码:
Set oXml = Server.CreateObject("Msxml2.DOMDocument.4.0")
我读了这样的节点:
Function GetXMLval2(oDoc, sNoeud)
Dim oNoeud
Dim objNode
Dim colNodes
Dim sRes
sRes=""
Set colNodes=oDoc.selectNodes(sNoeud)
For Each objNode in colNodes
sRes= objNode.Text
Next
GetXMLval2=sRes
End Function
其中oDOC
是XML,sNoeud
是节点名称。 objNode.Txt
正在返回那个奇怪的角色。
有什么想法吗?
答案 0 :(得分:1)
不完全确定这里的问题是什么,因为@JonSkeet point's out你还没有解释&#34;你在哪里看到那个角色&#34; < / em>的
考虑到这一点,我在cscript.exe
Option Explicit
Dim xml: Set xml = CreateObject("Msxml2.DOMDocument.6.0")
Call xml.Load("test50.xml")
Dim node: Set node = xml.selectSingleNode("//DriverLicenseCountry")
WScript.Echo node.Text
我的测试使用Msxml2.DOMDocument.6.0
因为我的系统没有安装Msxml2.DOMDocument.4.0
按预期获得以下输出
>cscript /nologo test50.vbs
Australië
如果您在使用经典ASP的IIS等服务器环境中使用它,那么确保输出正确编码还涉及其他步骤,但到目前为止,您已经说过将其作为独立脚本运行。