gpt4 book ai didi

VBScript 和 loadXML : Invalid at the top level of the document. 如何解决?

转载 作者:行者123 更新时间:2023-12-01 11:51:30 25 4
gpt4 key购买 nike

这是我在 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 中的隐藏字符)。我似乎无法弄清楚出了什么问题。它就是这样一个 simole XML 文件。我可以使用 perl regex 在几分钟内解析它,但我需要在 Windows 上运行这个脚本,所以使用 vbscript。我使用相同的技术从其他来源解析 XML,没有任何问题。不幸的是,我无法修改 XML,它来自外部源。我的 Windows Vista 家庭版和 Windows Server 2008 上都有完全相同的错误。到目前为止,我正在从命令行运行 vbscript 进行测试(即不在 ASP 中)。

提前致谢

山姆

最佳答案

xmlDoc.loadXML() 可以加载 XML 字符串。它无法检索 URL。

如果需要发出 HTTP 请求,请使用 XMLHTTPRequest 对象。

Function LoadXml(xmlurl)
Dim xmlhttp

Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
xmlhttp.Open "GET", xmlurl, false

' switch to manual error handling
On Error Resume Next

xmlhttp.Send
If err.number <> 0 Then
WScript.Echo xmlhttp.parseError.Reason
Err.Clear
End If

' switch back to automatic error handling
On Error Goto 0

Set LoadXml = xmlhttp.ResponseXml
End Function

像这样使用

Set doc = LoadXml("http://your.url/here")

关于VBScript 和 loadXML : Invalid at the top level of the document. 如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11062074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com