c# - DataContractSerializer 创建的 XML 格式

有没有一种简单的方法可以让 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);

https://stackoverflow.com/questions/739114/

相关文章:

c# - 使用c#的两个小数位

r - 在 ggplot2 中使用 scale_x_date 格式化日期

javascript - 在 Javascript 中解析 ISO 8601 日期

javascript - 最好的 JavaScript 日期解析器和格式化程序?

javascript - ".000Z"的 "yyyy-mm-ddT00:00:00.000Z"是什

c++ - 使用 C++ 输出运算符打印前导零?

xml - XML 中的引号。单人还是双人?

java - 如何从 Java 中的输入文本中删除标点符号?

c# - C# 有自动代码格式化程序吗?

intellij-idea - 启用/禁用 IntelliJ 的花哨≠(不等于)运算符