【问题标题】:XmlSerializer writing data containing characters which must be escapedXmlSerializer 写入包含必须转义的字符的数据
【发布时间】:2015-01-09 19:38:43
【问题描述】:

有没有办法用文本分隔符序列化 xml? 我有一个带有一些正则表达式字符串的 xml 文档,但是如果我执行我的 应用程序我得到一个解析错误。我确定这是因为 xml 文档中未转义的正则表达式。有没有办法使用类似的东西 文本分隔符?如果没有,我该如何转义以下正则表达式:"<a href="(?<link>.+?)" rel="bookmark">.+?</a>"?

【问题讨论】:

  • 这些不是“文本分隔符”。它们是在 XML 中无效的字符,除非它们被转义或写入 CDATA 部分。
  • 实际上,我很惊讶 XML 序列化程序没有为您转义这些字符。能否请您展示一个演示该问题的小代码示例?

标签: c# regex xml xml-serialization


【解决方案1】:

你必须像这样包装它:

<![CDATA[".+?)" rel="bookmark">.+?"?]]>

否则你必须转义每个特殊字符。

更多信息:

CDATA Sections

List of XML and HTML character entity references

【讨论】:

    猜你喜欢
    • 2022-11-30
    • 2011-11-30
    • 1970-01-01
    • 2012-05-15
    • 2021-07-23
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多