【问题标题】:MSXML and newline normalization(?) of Document.xml propertyDocument.xml 属性的 MSXML 和换行规范化(?)
【发布时间】:2008-11-20 12:24:18
【问题描述】:

我创建了以下简单的 xml(使用 C 转义序列)“<A>\n</A>” 当MSXML(v4 和 v6)使用 IXMLDOMDocument2.xml 序列化 DOM 文档时,它会将换行符更改为 dos 格式并返回:“<A>\r\n</A>”。

当我使用 DOM 仅检索 <A> 元素内的字符串节点时,我得到正确的单个字符 ("\n") 字符串。

当然,我将preserveWhiteSpace 设置为VARIANT_TRUE

XML.Net 和 Xerces 解析器工作正常,并且在序列化 xml 文档时不会修改存储的字符串。

这是 msxml 中的错误吗?任何的想法?

谢谢吉日

【问题讨论】:

    标签: newline msxml


    【解决方案1】:

    Microsoft 从 MSXML 4 开始改变了换行序列化的处理方式,以符合 w3wc 标准(请参阅 http://support.microsoft.com/kb/261293

    我不知道为什么 .Net 中的 xml 实现没有这样做,但 .Net 2.0 中的 Web 服务这样做的。

    当我上次遇到这个问题时,我得出的结论是,您要么需要考虑换行符可能会被不可预测地序列化(例如,将 \r\n 替换为 \n),要么您需要基于 - 64 编码您的文本(或等效)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-02
      • 2013-04-20
      • 2014-02-08
      • 2023-03-09
      • 2017-05-15
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      相关资源
      最近更新 更多