ASP.NET生成XML的一些方法
ASP.NET生成XML是一種比較常見的功能,XML可以傳遞更多的數(shù)據(jù)與信息。這里的ASP.NET生成XML將從業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層、表示層入手,以代碼的形式進(jìn)行展現(xiàn)。
1.業(yè)務(wù)邏輯層:
- public DataSet ABCData()
 - {
 - DataBase db = new DataBase();
 - string sql = "select * from products where products_Year='2008'";
 - DataSet ds = db.GetDataSet(sql);
 - return ds;
 - }
 
注sql執(zhí)行結(jié)果:
produts_Id products_Name products_Quantity products_Year
38          AAA            7649               2008
39          BBB            4567               2008
40          CCC            6410               2008
2.數(shù)據(jù)訪問層略:
3.表示層:
- protected void Page_Load(object sender, EventArgs e)
 - {
 - DataBind databind=new DataBind ();
 - DataSet ds=databind.ABCData();
 - string plot_type = "CategorizedVertical";
 - XmlDocument doc = new XmlDocument();
 - XmlElement Node = doc.CreateElement("anychart");//創(chuàng)建一個(gè)anychart節(jié)點(diǎn)
 - doc.AppendChild(Node);
 - XmlElement Node1 = doc.CreateElement("charts");//創(chuàng)建節(jié)點(diǎn)anychart子節(jié)點(diǎn)charts
 - doc.DocumentElement.AppendChild(Node1);
 - XmlElement Node2 = doc.CreateElement("chart");//創(chuàng)建節(jié)點(diǎn)charts子節(jié)點(diǎn)chart
 - Node2.SetAttribute("plot_type", plot_type);//為節(jié)點(diǎn)chart添加plot_type屬性
 - Node1.AppendChild(Node2);
 - XmlElement Node3 = doc.CreateElement("data");//創(chuàng)建節(jié)點(diǎn)chart***個(gè)子節(jié)點(diǎn)data
 - Node2.AppendChild(Node3);
 - XmlElement Node4 = doc.CreateElement("chart_settings");//創(chuàng)建節(jié)點(diǎn)chart第二個(gè)子節(jié)點(diǎn)chart_settings
 - Node2.AppendChild(Node4);
 - XmlElement Node5 = doc.CreateElement("series");//創(chuàng)建節(jié)點(diǎn)data子節(jié)點(diǎn)series
 - Node5.SetAttribute("name", "Year 2003");//為series節(jié)點(diǎn)添加***個(gè)屬性name
 - Node5.SetAttribute("type", "Bar");//為series節(jié)點(diǎn)添加第二個(gè)屬性type
 - Node3.AppendChild(Node5);
 - for (int i = 1; i <= 3;i++ )
 - {
 - XmlElement Node13 = doc.CreateElement("point");//在節(jié)點(diǎn)series中創(chuàng)建子節(jié)點(diǎn)point
 - Node13.SetAttribute("name", ds.Tables[0].Rows[i - 1]["products_Name"].ToString());//為point節(jié)點(diǎn)添加屬性name并將ds.Tables[0]中products_Name一列數(shù)據(jù)逐行取出,賦值給屬性name
 - Node13.SetAttribute("y", ds.Tables[0].Rows[i - 1]["products_Quantity"].ToString());//為point節(jié)點(diǎn)添加屬性y并將ds.Tables[0]中products_Quantity一列數(shù)據(jù)逐行取出,賦值給屬性y
 - Node5.AppendChild(Node13);
 - }
 - XmlElement Node6 = doc.CreateElement("title");
 - Node4.AppendChild(Node6);
 - XmlElement Node7 = doc.CreateElement("axes");
 - Node4.AppendChild(Node7);
 - XmlElement Node8 = doc.CreateElement("y_axis");
 - Node7.AppendChild(Node8);
 - XmlElement Node9 = doc.CreateElement("x_axis");
 - Node7.AppendChild(Node9);
 - XmlElement Node10 = doc.CreateElement("title");
 - Node10.InnerText = "Sales";//為節(jié)點(diǎn)title賦值Sales
 - Node8.AppendChild(Node10);
 - XmlElement Node11 = doc.CreateElement("title");
 - Node11.InnerText = "Retail Channel";
 - Node9.AppendChild(Node11);
 - XmlElement Node12 = doc.CreateElement("text");
 - Node12.InnerText = "銷售";
 - Node6.AppendChild(Node12);
 - doc.Save(Server.MapPath("test.xml")); //保存xml
 - }
 
4.生產(chǎn)的xml:
- <anychart>
 - <charts>
 - <chart plot_type="CategorizedVertical">
 - <data>
 - <series name="Year 2003" type="Bar">
 - <point name="AAA" y="7649" />
 - <point name="BBB" y="4567" />
 - <point name="CCC" y="6410" />
 - </series>
 - </data>
 - <chart_settings>
 - <title>
 - <text>銷售<text>
 - </title>
 - <axes>
 - <y_axis>
 - <title>Sales</title>
 - </y_axis>
 - <x_axis>
 - <title>Retail Channel</title>
 - </x_axis>
 - </axes>
 - </chart_settings>
 - </chart>
 - </charts>
 - </anychart>
 
ASP.NET生成XML的一些方法就介紹到這里吧。
原文標(biāo)題:ASP.NET生成層次較復(fù)雜的XML
鏈接:http://www.cnblogs.com/jiaojiaojojo/archive/2009/09/04/1559963.html
【編輯推薦】















 
 
 
 
 
 
 