当从数据库里取出数据填充到DataTable时,若使用dt.WriteXml(路径)读出的结果是
<DataTable>
<table>
.
.
</table>
<DataTable>
只是将DataTable 直接转换成xml,
应该使用以下的方法:
XElement xmlbookstore = new XElement("bookstore");
for (int i = 0; i < dt.Rows.Count; i++)
{
XElement xmlbook = new XElement("book");
XElement xmltitle = new XElement("title",dt.Rows[i]["title"].ToString());
XElementxmlauthor=newXElement("author",dt.Rows[i]["author"].ToString());
XElement xmlyear = new XElement("year", dt.Rows[i]["year"].ToString());
XElement xmlprice = new XElement("price", dt.Rows[i]["price"].ToString());
xmlbook.Add(xmltitle);
xmlbook.Add(xmlauthor);
xmlbook.Add(xmlyear);
xmlbook.Add(xmlprice);
xmlbookstore.Add(xmlbook);
}
FileStream stream = File.OpenWrite(Server.MapPath("a.xml"));
StreamWriter writer = new StreamWriter(stream);
writer.Write(xmlbookstore.ToString());
writer.Flush();
writer.Dispose();