【发布时间】:2018-06-14 11:54:40
【问题描述】:
我正在尝试将表示 xml 的字符串转换为 ASP 经典中的数组。
我正在从另一个页面获取字符串,它包含 HTML 标记和 XML 标记。我正在剪切字符串并删除除 XML 部分之外的任何内容,并将其作为 XML 文档加载。我的问题是循环遍历 XML 元素,当我尝试使用我的任何标签运行 documentElement.SelectNodes 时,我收到以下错误:
描述:需要对象:'[object]'
这是我的代码的一部分以便理解:
XML 字符串:
XmlString = XmlString & "<list> "
XmlString = XmlString & "<pax>"
XmlString = XmlString & "<base64>gdfgdf</base64><paxid>668</paxid> </pax> "
XmlString = XmlString & "<pax>"
XmlString = XmlString & "<base64>gfdgdfgdfg</base64> "
XmlString = XmlString & "<paxid>669</paxid> "
XmlString = XmlString & "</pax> "
XmlString = XmlString & "</list>"
response.Write XmlString
我的代码是
sURL = "http://someurl.com"
Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xml.Open "GET", sURL, False
xml.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
xml.Send
resStr = xml.responseText
newstr = Mid(resStr, InStr(resStr, "<list>"), InStr(resStr, "</list>"))
response.Write newstr
Set xmlDoc = Server.CreateObject("MSXML2.DOMDocument.3.0")
xmlDoc.LoadXML(newstr)
'here is where I get the error (in any of those)
response.Write xmlDoc.DocumentElement.SelectNodes("//*")
xmlDoc.DocumentElement.SelectSingleNode("pax/").ChildNodes
xmlDoc.DocumentElement.GetElementsByTagName("paxid")
【问题讨论】:
-
我怀疑
newstr不包含有效的XML 字符串。该变量的值是多少?放在xmlDoc.LoadXML(newstr)之后的行response.Write xmlDoc.ParseError的输出是什么?
标签: xml vbscript asp-classic