c# - DataContractSerializer 创建的 XML 格式

标签 c# xml formatting datacontractserializer

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

相关文章:

c# - 将服务安装为 x64

javascript - 下载 XML 源时处理多种编码方案

android - 格式化和样式化 xml 资源 + 分配给 textview

android - Eclipse 烦人的默认格式

c# - 如何将图像右对齐,底部在图片框中

c# - C# 中未引发异常。只是踢出了常规。这是一个错误吗?

c# - Java中的贷款模式/自动资源管理

java - 如何在 java 中修复未闭合标记的 XML

regex - 如何在 LaTeX 中包含一大块正则表达式?

Java 格式 double 到最小精度的字符串