gpt4 book ai didi

xml - 如何确保从 DataContractSerializer 输出的文件是 "regularly"格式的 XML?

转载 作者:数据小太阳 更新时间:2023-10-29 02:24:46 24 4
gpt4 key购买 nike

每次我从 DataContractSerializer 输出 XML 时,它都是单行 XML 字符串。这是有效的 XML,但读起来很痛苦。如何在其中添加额外的空格以将元素分成制表符行?

public void Save(Stream stream)
{
DataContractSerializer serializer = new DataContractSerializer(typeof(ObservableCollection<PlottingDeviceInfo>));
serializer.WriteObject(stream, this.Devices);
}

最佳答案

使用 WriteObject重载需要一个 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);
}
}

当您只使用Stream 时,WriteObject 会创建它自己的默认XmlWriter。是 XmlWriter 决定了格式等。

关于xml - 如何确保从 DataContractSerializer 输出的文件是 "regularly"格式的 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7488547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com