我想要的是这样的:
<a>
<b>
<c>
value
</c>
</b>
</a>
我试过了:
WriteValue()/ WriteString()不会开始换行:"<c>value</c>"
WriteWhitespace(Environment.NewLine)不会保留缩进:
<a>
<b>
<c>
value
</c>
</b>
</a>
出于某种原因,我必须使用XmlTextWriter。
答案 0 :(得分:1)
您必须使用XmlWriterSettings。看代码示例
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create(@"sample.xml", settings);
writer.WriteStartElement("a");
writer.WriteStartElement("b");
writer.WriteStartElement("c");
writer.WriteValue("value");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
writer.Close();
答案 1 :(得分:0)
您可以实现一个小型自定义编写器来实现这一目标。请在此处查看我的回答:https://stackoverflow.com/a/33542165/5114784