有没有办法防止数字实体在XmlDocument中展开?

时间:2010-11-12 15:49:56

标签: c# .net xml

我在C#3.5工作。

我有一个XML文档,其中包含元素值中的字符实体。参考是  (如果)。我不希望这扩展到实际的换行,我希望它保持为一个实体。这是因为处理XML的商业工具需要将LF表示为实体,而不是实际的LF。

但是,如果我将它传递到XmlReader附近的任何地方,它就会被转换。所以我切换到StreamReader,然后由XmlDocument.Load&转换为它。 XmlDocument.LoadXml。

我已经尝试将XmlResolver设置为null,禁止DTD和所有排序,但我无法让文档单独留下实体。

有什么想法吗?我打算通过将两端的内容改为双重逃避来解决这个问题,但我想知道是否有正确的方法可以做到这一点。

(它必须是Xml-ised的原因是因为它是通过Web服务作为XmlNode发送的......我无法更改API。)

1 个答案:

答案 0 :(得分:0)

您应该将XmlWriterXmlWriterSettings属性设置为NewLineHandling的{​​{1}}对象一起使用,并将XML写入字符串。那会给你一个包含实体而不是LF字符的字符串。