XML问题求教
我在尝试把数据库的数据导入到XML中,我用了这样一段代码
protected void Page_Load(object sender, EventArgs e)
{
DataSet dt = new DataSet();
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=D:\\Visual Studio 2008\\WebSites\\4-2\\App_Data\\media.mdb");
OleDbCommand cmd = new OleDbCommand("select MPlaypath,MName from Media", conn);
OleDbDataAdapter oda = new OleDbDataAdapter(cmd);
oda.Fill(dt);
cmd.Dispose();
conn.Close();
dt.WriteXml(Server.MapPath("test.xml"));
}
得出的XML如下
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Table>
<MPlaypath>test4</MPlaypath>
<MName>test2</MName>
</Table>
<Table>
<MPlaypath>test4</MPlaypath>
<MName>test2</MName>
</Table>
</NewDataSet>
如果我想把得出的XML变成这样
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Stream>
<rtmpHost>test2</rtmpHost>
<StreamName>test3</StreamName>
</Stream>
<Stream>
<rtmpHost>test2</rtmpHost>
<StreamName>test3</StreamName>
</Stream>
<menu>
<StreamName>test3</StreamName>
<StreamName>test3</StreamName>
</menu>
</root>
就是说 NewDataSet 和 Table的名字改为 root和Stream ,还有把所有的<StreamName>放在<menu>中,我的代码应该怎么改良才能达到我想要的效果
[解决办法]
ds.DataSetName = "root";
ds.Tables[0].TableName = "Table";
protected void Page_Load(object sender, EventArgs e)
{
DataSet dt = new DataSet();
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=D:\\Visual Studio 2008\\WebSites\\4-2\\App_Data\\media.mdb");
OleDbCommand cmd = new OleDbCommand("select MPlaypath,MName from Media", conn);
OleDbDataAdapter oda = new OleDbDataAdapter(cmd);
oda.Fill(dt);
cmd.Dispose();
conn.Close();
dt.DataSetName = "root";
dt.Tables[0].TableName = "Table";
dt.WriteXml(Server.MapPath("test.xml"));
}
DataSet ds = new DataSet("DataSet");
DataTable dt = new DataTable("DataTable");
dt.Columns.Add("id");
dt.Columns.Add("name");
dt.Rows.Add(new object[] { "1", "张一" });
dt.Rows.Add(new object[] { "2", "李四" });
dt.Rows.Add(new object[] { "3", "王五" });
ds.Tables.Add(dt);
ds.DataSetName = "root";
ds.Tables[0].TableName = "Table";
dt.WriteXml("C:\\1.xml");