【发布时间】:2012-06-25 16:55:45
【问题描述】:
我知道这不符合标准,但是合作伙伴正在将 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 开头。
- 为了好玩,我尝试替换() item(index).nodeName 中的“XYZZY”,但可以预见的是,这会产生 500 错误。
- ResponseXML.preserveWhiteSpace 没有帮助。
- 我考虑过将 XML 操作为字符串来进行替换,但不确定是否可以将其加载回 MSXML 对象中……而且看起来有点不必要的复杂……
- ...就像简单的文本字符串解析一样。
有没有我一直找不到的简单解决方案?非常感谢资源链接!
【问题讨论】:
-
您可能需要阅读一些非常基本的 XML,因为您显然不了解诸如 attributes 之类的一些基础知识,这是一个很好的起点:w3schools.com/xml/default.asp .
-
谢谢,这有帮助 - 我刚刚做了一些探索,现在我将“属性”作为关键字并找到了一些可能有用的东西,包括 another StackOverflow question。解决后将添加详细信息。
标签: xml asp-classic xml-parsing space