gpt4 book ai didi

C# .NET 使用自定义架构从 SQL 数据集写入 XML 文件

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:02 25 4
gpt4 key购买 nike

我在 C# Visual Studio 2010 中有以下代码。

string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Database\\db.mde";
string sql = "SELECT * FROM Customer";
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbDataAdapter adapter = new OleDbDataAdapter(sql, connection);

DataSet ds = new DataSet();
connection.Open();
adapter.Fill(ds, "Test Table");
connection.Close();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "Test Table";
ds.WriteXml("C:\\Users\\Desktop\\testfile.XML");

现在它可以做我想做的一切,但我需要在导出时稍微修改 XML 文件的格式。这很容易做到吗?我想我需要提供一个很好的架构文件,但我不确定如何使用数据集实现它。

目前 XML 看起来像这样。

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Test_x0020_Table>
<name>Customer1</name>
<address>25 Big St</address>
<suburb>Sydney NSW</suburb>
<contact>Fred Nurk</contact>
<phone>11 1111 1111</phone>
</Test_x0020_Table>
</NewDataSet>

...但我希望它看起来像这样

<?xml version="1.0" standalone="yes"?>
<Customers>
<name>Customer1</name>
<address>25 Big St</address>
<suburb>Sydney NSW</suburb>
<contact>Fred Nurk</contact>
<phone>11 1111 1111</phone>
</Customers>

如有任何帮助,我们将不胜感激。

最佳答案

第一个节点是您的表的名称。

您可以通过在数据集上设置名称来更改此设置。

DataSet ds = new DataSet("Customers");//复数


内部节点是记录。

您可以通过在填充适配器时指定名称来更改它。

adapter.Fill(ds, "客户");//单数


这会给你这样的结果:

 <Customers>  <Customer>    <name>Customer1</name>    <address>25 Big St</address>    <suburb>Sydney NSW</suburb>    <contact>Fred Nurk</contact>    <phone>11 1111 1111</phone>  </Customer></Customers> 

这意味着如果您返回多个结果,您最终会得到:

 <Customers>  <Customer>    <name>Customer1</name>    <address>25 Big St</address>    <suburb>Sydney NSW</suburb>    <contact>Fred Nurk</contact>    <phone>11 1111 1111</phone>  </Customer>  <Customer>    <name>Customer1</name>    <address>25 Big St</address>    <suburb>Sydney NSW</suburb>    <contact>Fred Nurk</contact>    <phone>11 1111 1111</phone>  </Customer>  <Customer>    <name>Customer1</name>    <address>25 Big St</address>    <suburb>Sydney NSW</suburb>    <contact>Fred Nurk</contact>    <phone>11 1111 1111</phone>  </Customer></Customers> 

您不能有一个“客户”,因为当您编写 XML 时,它会将其格式化为带有“记录”的“表”。

关于C# .NET 使用自定义架构从 SQL 数据集写入 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4324533/

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