这是我在 stackoverflow 上的堡垒帖子。我在这个网站上搜索了许多类似的问答,但我的情况似乎有点不同。这是我的 vbscript 代码:
------------ 代码片段 ----------------
xmlurl = "songs.xml"
set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False
xmlDoc.loadXML(xmlurl)
if xmlDoc.parseError.errorcode<>0 then
'error handling code
msgbox("error! " & xmlDoc.parseError.reason)
end if
------------ 结束代码片段 ---------------
XML:
<?xml version="1.0" encoding="UTF-8"?>
<nowplaying-info-list>
<nowplaying-info mountName="CKOIFMAAC" timestamp="1339771946" type="track">
<property name="track_artist_name"><![CDATA[CKOI]]></property>
<property name="cue_title"><![CDATA[HITMIX]]></property>
</nowplaying-info>
<nowplaying-info mountName="CKOIFMAAC" timestamp="1339771364" type="track">
<property name="track_artist_name"><![CDATA[AMYLIE]]></property>
<property name="cue_title"><![CDATA[LES FILLES]]></property>
</nowplaying-info>
<nowplaying-info mountName="CKOIFMAAC" timestamp="1339771149" type="track">
<property name="track_artist_name"><![CDATA[MIA MARTINA]]></property>
<property name="cue_title"><![CDATA[TOI ET MOI]]></property>
</nowplaying-info>
</nowplaying-info-list>
我还尝试删除第一行以防 UTF-8 可能与 windows 不兼容(看到一些关于此的帖子),但我仍然遇到同样的错误。我还尝试了 unix2dos,反之亦然,以防出现回车问题(嵌入在 xml 中的隐藏字符)。我似乎无法弄清楚出了什么问题。这是一个简单的 XML 文件。我可以使用 perl 正则表达式在几分钟内解析它,但我需要在 Windows 上运行这个脚本,所以使用 vbscript。我使用相同的技术从其他来源解析 XML,没有任何问题。不幸的是,我无法修改 XML,它来自外部来源。我的 Windows Vista 家庭版和 Windows Server 2008 都出现了同样的错误。到目前为止,我正在从命令行运行 vbscript 进行测试(即不在 ASP 中)。
提前致谢,
山姆