gpt4 book ai didi

c# - XmlWriterSettings、XmlTextWriter、XmlWriter 不格式化输出?!没有换行,没有缩进

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

在 VS2008 中使用 .Net 3.5 SP1 我有一个 XmlDocument 并尝试将其写入文件:

using (XmlTextWriter tw = new XmlTextWriter(outXmlFileName, System.Text.Encoding.UTF8))
{
tw.Formatting = Formatting.Indented;
tw.Indentation = 3;
tw.IndentChar = ' ';
tw.QuoteChar = '\'';
doc.Save(tw);
}

XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
using (XmlWriter writer = XmlWriter.Create(outXmlFileName, settings))
{
doc.Save(writer);
}

文档中不清楚的地方,http://msdn.microsoft.com/en-us/library/kkz7cs0d.aspx , 如果我应该在 .Net 2 之上使用 XmlWriter.Create() ,无论如何两种方法都不会格式化输出!我只得到 XmlDocument 实例中的内容:

<?xml version='1.0' encoding='utf-8'?>
<root>
<node1 />
<node2 value='Data' />
<node3 value='ID' /><node4><item>
<from value='1 Jan 1870' />
<id value='PF' />
<to value='1 Jan 1940' /></item></node4>
</root>

如何在从 .Net 写入 XML 文件之前整理我的 XML?!

最佳答案

我通过将 XML 加载到第二个中间 XmlDocument 实例中使其工作,因此它忘记了原始空白:

            XmlWriterSettings settings = new XmlWriterSettings(); // http://msdn.microsoft.com/en-us/library/kkz7cs0d(VS.85).aspx
settings.Indent = true;

XmlDocument doc2 = new XmlDocument();
doc2.LoadXml(doc.OuterXml);

using (XmlWriter writer = XmlWriter.Create(outXmlFileName, settings))
{
doc2.Save(writer);
}

关于c# - XmlWriterSettings、XmlTextWriter、XmlWriter 不格式化输出?!没有换行,没有缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7549641/

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