XmlWriter.WriteRaw缩进

问题描述 投票:1回答:2

我有一个类似的问题,例如XML indenting when injecting an XML string into an XmlWriter

我还使用XmlWriter.WriteRaw将XML片段输出到xml节点中。该文档片段没有遵循好的标识。上面文章中给出的答案不适用于XML片段。好吧,我可以用XmlReader读取片段,但是WriteNode不适用于文档片段(请参阅http://msdn.microsoft.com/en-us/library/1wd6aw1b.aspx)。

关于如何作弊以获得适当缩进的任何提示?

感谢任何提示

c# xml indentation
2个回答
0
投票

您可以在包含xml片段的内存中构建有效的Xml文档。然后使用XmlReader阅读此文档(例如,使用MemoryStream),然后让XmlWriter写入缩进的xml。

一种更快的方法是通过操作字符串自己缩进xml。搜索<,增加嵌套级别并添加缩进空间。如果找到</或自闭合标签,请降低嵌套级别并附加\n

我认为您的问题没有快速的[[]]解决方案,但是我可能错了...


1
投票
这是一个老问题,但今天我遇到了同样的问题。我的解决方案是使用XmlDocument.WriteContentTo方法:
© www.soinside.com 2019 - 2024. All rights reserved.