我在C#3.5工作。
我有一个XML文档,其中包含元素值中的字符实体。参考是 (如果)。我不希望这扩展到实际的换行,我希望它保持为一个实体。这是因为处理XML的商业工具需要将LF表示为实体,而不是实际的LF。
但是,如果我将它传递到XmlReader附近的任何地方,它就会被转换。所以我切换到StreamReader,然后由XmlDocument.Load&转换为它。 XmlDocument.LoadXml。
我已经尝试将XmlResolver设置为null,禁止DTD和所有排序,但我无法让文档单独留下实体。
有什么想法吗?我打算通过将两端的内容改为双重逃避来解决这个问题,但我想知道是否有正确的方法可以做到这一点。
(它必须是Xml-ised的原因是因为它是通过Web服务作为XmlNode发送的......我无法更改API。)
答案 0 :(得分:0)
您应该将XmlWriter
与XmlWriterSettings
属性设置为NewLineHandling
的{{1}}对象一起使用,并将XML写入字符串。那会给你一个包含实体而不是LF字符的字符串。