18

我正在尝试将 XML 文件写入隔离存储,但我想将其格式化为:-

<SampleData>
  <Item Property1="AliquaXX" />
  <Item Property1="Integer" />
  <Item Property1="Quisque" />
  <Item Property1="Aenean" />
  <Item Property1="Mauris" />
  <Item Property1="Vivamus" />
  <Item Property1="Nullam" />
  <Item Property1="Nam" />
  <Item Property1="Sed" />
  <Item Property1="Class" />
</SampleData>

但是如果我能解决,我会被打扰,有人可以帮忙吗?

4

4 回答 4

25

我怀疑您需要创建一个XmlWriterSettings具有您想要的行为(缩进等),然后将其传递给XmlWriteron 创建。只需设置Indent为 true 就足够了:

XmlWriterSettings settings = new XmlWriterSettings { Indent = true };
using (XmlWriter writer = XmlWriter.Create(..., settings))
{
    ...
}
于 2011-09-23T21:59:59.637 回答
14

您可以通过XmlWriterSettings自定义 xml 输出。

您没有包含任何代码,但您可以在创建 XmlWriter 时设置 XmlWriterSettings。你也可以使用类似的东西:

var myXmlWriter = new XmlWriterSettings { Indent = true };
于 2011-09-23T22:01:35.680 回答
0

如果像我一样,你正在实现自己的XmlWriter,你可以这样做:

var myXmlWriter = new MyXmlWriter(stream, System.Text.Encoding.UTF8)
{
    Formatting = Formatting.Indented
};

或者this.Formatting = Formatting.Indented在它的构造函数中做。

于 2019-07-09T07:27:23.577 回答
-1

您可以使用DataSet.GetXML()

Dim column As DataColumn
For Each column In DataSet.Tables.Item(0).Columns
    column.ColumnMapping = MappingType.Attribute
Next
Dim xml As String = DataSet.GetXml()

它与 XmlWriter 无关,但您可以使用它来格式化 XML。

于 2011-09-23T22:11:18.483 回答