如何将C#DataSet对象写入具有自定义节点结构的XML?

如何将C#DataSet对象写入具有自定义节点结构的XML?,c#,xml,dataset,writexml,C#,Xml,Dataset,Writexml,我有一个类似的例子——我从一个外部模块(由其他程序员完成)接收到一个数据集对象,其中的数据表将包含数据(例如客户表…) 然后,我使用writeXml方法将数据集对象保存到xml中—以下是我的代码 public void Save(string myXmlFilePath) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Encoding = System.Text.Encoding.

我有一个类似的例子——我从一个外部模块(由其他程序员完成)接收到一个数据集对象,其中的数据表将包含数据(例如客户表…)

然后,我使用writeXml方法将数据集对象保存到xml中—以下是我的代码

public void Save(string myXmlFilePath)
{        
    XmlWriterSettings settings = new XmlWriterSettings();
    settings.Encoding = System.Text.Encoding.UTF8; 
    settings.Indent = true;
    settings.NewLineHandling = NewLineHandling.None;

    using (XmlWriter writer = XmlWriter.Create(myXmlFilePath, settings))
    {
        ExportObject.WriteXml(writer);
        writer.Close();
    }
}
我得到的标准xml文件输出结构如下:

<NewDataSet>
    <Customers>...</Customers>
    <Customers>...</Customers>
<NewDataSet>`

...
...
`
但是我想要这样的结构

<Customers>
    <Customer>...</Customer>
    <Customer>...</Customer>
</Customers>`

...
...
`

我怎样才能做到这一点

为数据集及其内的表指定所需的名称

ExportObject.DataSetName = "Customers";
ExportObject.Tables[0].TableName = "Customer";

一种解决方法是让
WriteXml
随心所欲地编写,然后将XSD转换为您喜欢的格式。

我也是这么想的,所以我确实命名了数据集中的所有表。这无助于我理解您-如果我只有一个表,这将起作用,但我有许多表,如客户、产品等。因此,仅将数据集命名为“客户”不会起作用。我刚刚发现的一个可能的解决方案是: