C# XmlWriter.WriteRaw缩进

C# XmlWriter.WriteRaw缩进,c#,xml,indentation,C#,Xml,Indentation,我有一个类似的问题,比如 我还使用XmlWriter.WriteRaw将XML片段输出到XML节点。此文档片段不符合标识,这将很好。上面文章给出的答案不适用于XML片段。我可以用XmlReader读取片段,但是WriteNode不能处理文档片段(请参阅) 有没有关于如何作弊以获得正确缩进的提示 感谢您提供的任何提示您可以在内存中构建包含Xml片段的有效Xml文档。然后使用XmlReader(例如使用MemoryStream)阅读此文档,并让XmlWriter写入缩进的xml 一种更快的方法是通过

我有一个类似的问题,比如

我还使用
XmlWriter.WriteRaw
将XML片段输出到XML节点。此文档片段不符合标识,这将很好。上面文章给出的答案不适用于XML片段。我可以用
XmlReader
读取片段,但是
WriteNode
不能处理文档片段(请参阅)

有没有关于如何作弊以获得正确缩进的提示


感谢您提供的任何提示

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


一种更快的方法是通过操纵字符串自己缩进xml。搜索
可以在内存中构建包含Xml片段的有效Xml文档。然后使用
XmlReader
(例如使用
MemoryStream
)阅读此文档,并让
XmlWriter
写入缩进的xml


一种更快的方法是通过操纵字符串自己缩进xml。搜索
这是个老问题,但我今天遇到了同样的问题。我的解决方案是使用XmlDocument.WriteContento方法:

var innerXmlDoc = new XmlDocument();
innerXmlDoc.LoadXml("<params><param id=\"param1\" value=\"value1\"/></params>");
innerXmlDoc.WriteContentTo(xmlWriter);
var innerXmlDoc=new XmlDocument();
innerXmlDoc.LoadXml(“”);
innerXmlDoc.WriteContento(xmlWriter);

这是个老问题,但我今天遇到了同样的问题。我的解决方案是使用XmlDocument.WriteContento方法:

var innerXmlDoc = new XmlDocument();
innerXmlDoc.LoadXml("<params><param id=\"param1\" value=\"value1\"/></params>");
innerXmlDoc.WriteContentTo(xmlWriter);
var innerXmlDoc=new XmlDocument();
innerXmlDoc.LoadXml(“”);
innerXmlDoc.WriteContento(xmlWriter);

我认为根本没有好的解决方案。如果它在那里,现在就有人找到了。但我接受你的回答,因为你提供了可能性。缩进根本没有任何功能,所以它只是为了可读性。在编写文档之后,我想到了使用xsl转换。请参阅可能的转换。我认为根本没有好的解决方案。如果它在那里,现在就有人找到了。但我接受你的回答,因为你提供了可能性。缩进根本没有任何功能,所以它只是为了可读性。在编写文档之后,我想到了使用xsl转换。有关可能的转换,请参阅。