是否有一种简单的方法来使DataContractSerializer吐出格式化的XML,而不是一个长字符串?我不想以任何方式更改标签或内容,只是要添加换行符和缩进以使XML更具可读性?

<tagA>
   <tagB>This is</tagB>
   <tagC>Much</tagC>
   <tagD>
      <tagE>easier to read</tagE>
   </tagD>
</tagA>


<tagA><tagB>This is</tagB><tagC>Much</tagC><tagD><tagE>harder to read</tagE></tagD></tagA>

最佳答案

正如Bendewey所说,XmlWriterSettings是您所需要的-例如就像是

var ds = new DataContractSerializer(typeof(Foo));

var settings = new XmlWriterSettings { Indent = true };

using (var w = XmlWriter.Create("fooOutput.xml", settings))
    ds.WriteObject(w, someFoos);

关于c# - DataContractSerializer创建的XML格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/739114/

10-09 05:21