項目中需要將前台頁面中的資訊儲存下來並儲存為xml檔案格式到資料庫中去。因此我先在這裡通過一個小執行個體來學習xml的建立與讀取。
本文部分參考http://blog.csdn.net/lengjing126/archive/2009/08/12/4438042.aspx
1.建立簡單的XML檔案
為了便於測試,我們首先建立控制台應用程式,項目命名為CreateXml,Program.cs代碼如下:
using System;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Text;<br />using System.Xml;</p><p>namespace CreateXml<br />{<br /> class Program<br /> {<br /> static void Main(string[] args)<br /> {<br /> Program app = new Program();<br /> app.CreateXmlFile();<br /> }<br /> public void CreateXmlFile()<br /> {<br /> XmlDocument xmlDoc = new XmlDocument();<br /> //建立型別宣告節點<br /> XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");<br /> xmlDoc.AppendChild(node);<br /> //建立根節點<br /> XmlNode root = xmlDoc.CreateElement("User");<br /> xmlDoc.AppendChild(root);<br /> CreateNode(xmlDoc, root, "name", "xuwei");<br /> CreateNode(xmlDoc, root, "sex", "male");<br /> CreateNode(xmlDoc, root, "age", "25");<br /> try<br /> {<br /> xmlDoc.Save("c://data2.xml");<br /> }<br /> catch (Exception e)<br /> {<br /> //顯示錯誤資訊<br /> Console.WriteLine(e.Message);<br /> }<br /> //Console.ReadLine();</p><p> }</p><p> /// <summary><br /> /// 建立節點<br /> /// </summary><br /> /// <param name="xmldoc"></param> xml文檔<br /> /// <param name="parentnode"></param>父節點<br /> /// <param name="name"></param> 節點名<br /> /// <param name="value"></param> 節點值<br /> ///<br /> public void CreateNode(XmlDocument xmlDoc,XmlNode parentNode,string name,string value)<br /> {<br /> XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);<br /> node.InnerText = value;<br /> parentNode.AppendChild(node);<br /> }<br /> }<br />}<br />
這樣會在C盤根目錄下建立data2.xml檔案,檔案內容為
<?xml version="1.0" encoding="utf-8"?><br /><User><br /> <name>xuwei</name><br /> <sex>male</sex><br /> <age>25</age><br /></User>
2.建立多節點多層級的XML檔案
只需要對CreateXmlFile()方法進行簡單修改即可,修改如下:
public void CreateXmlFile()<br /> {<br /> XmlDocument xmlDoc = new XmlDocument();<br /> //建立型別宣告節點<br /> XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");<br /> xmlDoc.AppendChild(node);<br /> //建立根節點<br /> XmlNode root = xmlDoc.CreateElement("Users");<br /> xmlDoc.AppendChild(root);</p><p> XmlNode node1 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);<br /> CreateNode(xmlDoc, node1, "name", "xuwei");<br /> CreateNode(xmlDoc, node1, "sex", "male");<br /> CreateNode(xmlDoc, node1, "age", "25");<br /> root.AppendChild(node1);</p><p> XmlNode node2 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);<br /> CreateNode(xmlDoc, node2, "name", "xiaolai");<br /> CreateNode(xmlDoc, node2, "sex", "female");<br /> CreateNode(xmlDoc, node2, "age", "23");<br /> root.AppendChild(node2);</p><p> try<br /> {<br /> xmlDoc.Save("c://data5.xml");<br /> }<br /> catch (Exception e)<br /> {<br /> //顯示錯誤資訊<br /> Console.WriteLine(e.Message);<br /> }<br /> //Console.ReadLine();</p><p> }
產生的xml檔案內容如下:
<?xml version="1.0" encoding="utf-8"?><br /><Users><br /> <User><br /> <name>xuwei</name><br /> <sex>male</sex><br /> <age>25</age><br /> </User><br /> <User><br /> <name>xiaolai</name><br /> <sex>female</sex><br /> <age>23</age><br /> </User><br /></Users>