【问题标题】:Unescaping angle-brackets through System.Xml.XmlWriter通过 System.Xml.XmlWriter 取消转义尖括号
【发布时间】:2010-09-09 03:37:31
【问题描述】:

我正在通过 System.Xml.XmlWriter 编写一个包含一些 XML 的字符串。我被困在使用 WriteString() 和文档中:

WriteString 执行以下操作: 字符 &、 分别替换为 &、< 和 >。

我希望停止此操作,但我似乎找不到任何 XmlWriterSettings 属性来控制此行为。有哪些解决方法?谢谢!

大卫

【问题讨论】:

    标签: c# .net xml


    【解决方案1】:

    尝试在 CDATA 标记之间包装您的真实内容:

    这是我的内容 ]]>

    【讨论】:

      【解决方案2】:

      WriteString 将你的内容写成文字,&、 在 XML 文本中是非法的,所以它们被转义了。

      如果另一端没有逃脱它们,那就是问题所在。

      如果您想编写未转义的 XML,请使用 WriteRaw。

      【讨论】:

        【解决方案3】:

        我无法使用 WriteString(),

        我认为这是您问题的根源。你能解释一下你坚持使用 WriteString 的原因吗?我的直觉是你使用了错误的方法来做你想做的事

        【讨论】:

        • 实际上,我正在使用 Argotic 联合框架来生成 Atom Feed,它在内部使用 WriteString() 来写出一些元素。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-09-15
        • 1970-01-01
        • 1970-01-01
        • 2010-09-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多