每次我从DataContractSerializer输出XML时,它都是单行XML字符串.这是有效的XML,但阅读起来很痛苦.如何在其中添加额外的空格以将元素分解为标签线?
public void Save(Stream stream)
{
DataContractSerializer serializer = new DataContractSerializer(typeof(ObservableCollection<PlottingDeviceInfo>));
serializer.WriteObject(stream, this.Devices);
}
Run Code Online (Sandbox Code Playgroud)
使用WriteObject带有a 的重载XmlWriter,然后将其传递给XmlWriter配置为产生漂亮的输出.
public void Save(Stream stream)
{
DataContractSerializer serializer = new DataContractSerializer(typeof(ObservableCollection<PlottingDeviceInfo>));
using (var writer = XmlWriter.Create(stream, new XmlWriterSettings{Indent=true}))
{
serializer.WriteObject(writer, this.Devices);
}
}
Run Code Online (Sandbox Code Playgroud)
当你只使用a时Stream,WriteObject创建它自己的默认值XmlWriter.这XmlWriter是确定格式等的.
| 归档时间: |
|
| 查看次数: |
526 次 |
| 最近记录: |