通过 System.Xml.XmlWriter 取消转义尖括号

Posted

技术标签:

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

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

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

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

大卫

【问题讨论】:

【参考方案1】:

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

这是我的内容 ]]>

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

【参考方案3】:

我无法使用 WriteString(),

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

【讨论】:

实际上,我正在使用 Argotic 联合框架来生成 Atom Feed,它在内部使用 WriteString() 来写出一些元素。

以上是关于通过 System.Xml.XmlWriter 取消转义尖括号的主要内容,如果未能解决你的问题,请参考以下文章

可以通过Java爬取中国知网数据吗

List随机取集合里面的元素,通过Random随机取,回调直到取到指定数目为止

如何通过 Bitbucket 中的拉取请求变基

通过拉取请求撤消合并?

java小工具:通过URL连接爬取资源(图片)

spring boot 通过session 取数据