我理解这不符合标准,但是合作伙伴将XML传递给我们的应用程序,其中包含标记中的空格,如下所示:
<RESPONSE>
<XYZZYS>
<XYZZY TAG="INFO">123abc</FIELD>
<XYZZY TAG="MOAR_INFO">123456abcdef</FIELD>
<XYZZY TAG="EVEN_MOAR_INFO">1</FIELD>
通常我会通过getElementsByTagName(“*”)将XML加载到对象中,并使用item(index).nodeName获取标记名称。问题是因为空间不应该在那里,所以item(index).nodeName最终只是XYZZY。这当然是个问题,因为每个人都是从XYZZY开始的。
我找不到一个简单的解决方案吗?非常感谢资源链接!
答案 0 :(得分:0)
在this StackOverflow question的正确方向指针之后基于AnthonyWJones,这是解析此问题的合适方法:
Set oXML = Server.CreateObject("MSXML2.DomDocument.6.0") 'creating the parser object
oXML.LoadXML(responseXML.responseText) 'Loading the XML from the response
For Each oNode In oXML.SelectNodes("/RESPONSE/XYZZYS/XYZZY")
sKey = oNode.GetAttribute("KEY")
sValue = oNode.Text
'Printing for proof of retrieval.
response.write("<br>sKey: " & sKey)
response.write(" sValue: " & sValue)
Next
Set oXML = Nothing
请注意,我只是从链接的问题中复制并根据需要进行编辑。