I have a similar question like XML indenting when injecting an XML string into an XmlWriter.
I also use XmlWriter.WriteRaw
to output an XML fragment into an xml node. This document fragment does not follow the idention which would be nice. The answer given on the post above does not work for XML fragments. Well, I can read the fragment with the XmlReader
, but WriteNode
does not work with document fragments (see http://msdn.microsoft.com/en-us/library/1wd6aw1b.aspx).
Any hints on how to cheat to get proper indentation?
Thanks for any hints
You could build a valid Xml-Document in memory containing your xml fragment. Then read this document with the XmlReader
(e.g. by using MemoryStream
) and let the XmlWriter
write indented xml.
A faster approach wold be indenting the xml yourself by manipulating the string. Search for <
, increase the nesting level and add the indention spaces. If you find </
or a self closing tag decrease the nesting level and append a \n
I don't think there is a fast and nice solution to your problem, but i might be wrong...
来源:https://stackoverflow.com/questions/1789370/xmlwriter-writeraw-indentation