0

我想要的是这样的:

  <a>
    <b>
      <c>
        value
      </c>
    </b>
  </a>

我试过:WriteValue()/WriteString() 不会开始新行:"<c>value</c>" WriteWhitespace(Environment.NewLine) 不会保留缩进:

  <a>
    <b>
      <c>
  value
  </c>
    </b>
  </a>

出于某种原因,我必须使用 XmlTextWriter。

4

2 回答 2

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();
于 2014-09-04T02:54:29.943 回答
0

您可以实现一个小型自定义编写器来完成此操作。在这里查看我的答案:https ://stackoverflow.com/a/33542165/5114784

于 2015-11-05T10:30:27.143 回答