Asp.net 操作XML
費勁_奮進發表於2014-05-07
- using System;
- using System.Web;
- using System.Xml;
-
-
-
-
-
-
-
-
- public class XMLOp
- {
- public XMLOp()
- {
-
- }
-
- #region 建立XML
-
-
-
-
-
-
-
- public static void CreateXML()
- {
-
- XmlDocument xmldoc = new XmlDocument();
-
- XmlDeclaration xmldecl = xmldoc.CreateXmlDeclaration("1.0", "gb2312", null);
-
- xmldoc.AppendChild(xmldecl);
-
-
- XmlElement xmlelem;
-
- xmlelem = xmldoc.CreateElement("", "Employees", "");
-
- xmldoc.AppendChild(xmlelem);
-
- for (int i = 1; i < 10; i++)
- {
- XmlNode root = xmldoc.SelectSingleNode("Employees");
- XmlElement xe1 = xmldoc.CreateElement("Node");
- xe1.SetAttribute("genre", "張三");
- xe1.SetAttribute("ISBN", "2-3614-8");
-
- XmlElement xesub1 = xmldoc.CreateElement("title");
- xesub1.InnerText = "CS 從入門到精通";
- xe1.AppendChild(xesub1);
- XmlElement xesub2 = xmldoc.CreateElement("author");
- xesub2.InnerText = "候捷";
- xe1.AppendChild(xesub2);
- XmlElement xesub3 = xmldoc.CreateElement("price");
- xesub2.InnerText = "58.3";
- xe1.AppendChild(xesub3);
-
- root.AppendChild(xe1);
-
-
- xmldoc.Save(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/aa.xml"));
-
- }
- }
-
-
-
-
-
-
-
-
- public static void CreateXMLFile()
- {
-
- XmlTextWriter xmlWriter = new XmlTextWriter(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"), System.Text.Encoding.Default);
-
- xmlWriter.Formatting = Formatting.Indented;
-
- xmlWriter.WriteStartDocument();
-
- xmlWriter.WriteStartElement("Employees");
-
- xmlWriter.WriteStartElement("Node");
- xmlWriter.WriteAttributeString("genre", "張三");
- xmlWriter.WriteAttributeString("ISBN", "2-3631-6");
-
- xmlWriter.WriteStartElement("title");
- xmlWriter.WriteString("CS從入門到精通");
- xmlWriter.WriteEndElement();
-
- xmlWriter.WriteStartElement("author");
- xmlWriter.WriteString("候捷");
- xmlWriter.WriteEndElement();
-
- xmlWriter.WriteStartElement("price");
- xmlWriter.WriteString("58.3");
- xmlWriter.WriteEndElement();
-
- xmlWriter.WriteEndElement();
-
- xmlWriter.Close();
- }
- #endregion
-
- #region 新增節點
-
-
-
-
-
-
-
- public static void CreateNode()
- {
- XmlDocument xmlDoc = new XmlDocument();
-
- xmlDoc.Load(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"));
-
- XmlNode root = xmlDoc.SelectSingleNode("Employees");
-
- XmlElement xe1 = xmlDoc.CreateElement("Node");
-
- xe1.SetAttribute("genre", "李四");
-
- xe1.SetAttribute("ISBN", "1-1111-1");
-
- XmlElement xesub1 = xmlDoc.CreateElement("title");
- xesub1.InnerText = "C#入門幫助";
- xe1.AppendChild(xesub1);
-
- XmlElement xesub2 = xmlDoc.CreateElement("author");
- xesub2.InnerText = "高手";
- xe1.AppendChild(xesub2);
-
- XmlElement xesub3 = xmlDoc.CreateElement("price");
- xesub3.InnerText = "158.3";
- xe1.AppendChild(xesub3);
-
- root.AppendChild(xe1);
- xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"));
-
- }
- #endregion
-
- #region 修改節點的值(屬性和子節點)
-
-
-
-
-
-
-
- public static void ModifyNodeUp()
- {
- XmlDocument xmlDoc = new XmlDocument();
-
- xmlDoc.Load(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"));
-
- XmlNodeList nodeList = xmlDoc.SelectSingleNode("Employees").ChildNodes;
-
-
- foreach (XmlNode xn in nodeList)
- {
-
- XmlElement xe = (XmlElement)xn;
-
- if (xe.GetAttribute("genre") == "張三")
- {
-
- xe.SetAttribute("genre", "update張三");
-
- XmlNodeList nls = xe.ChildNodes;
-
- foreach (XmlNode xn1 in nls)
- {
-
- XmlElement xe2 = (XmlElement)xn1;
-
- if (xe2.Name == "author")
- xe2.InnerText = "亞聖";
- }
- }
- }
-
- xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"));
- }
- #endregion
-
- #region 修改節點的值(新增節點的屬性和新增節點的子節點)
-
-
-
-
-
-
-
- public static void ModifyNodeAd()
- {
- XmlDocument xmlDoc = new XmlDocument();
-
- xmlDoc.Load(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"));
-
- XmlNodeList nodeList = xmlDoc.SelectSingleNode("Employees").ChildNodes;
-
-
- foreach (XmlNode xn in nodeList)
- {
-
- XmlElement xe = (XmlElement)xn;
- xe.SetAttribute("test", "1111");
-
- XmlElement xesub = xmlDoc.CreateElement("flag");
- xesub.InnerText = "123";
- xe.AppendChild(xesub);
- }
-
- xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"));
- }
- #endregion
-
- #region 刪除節點中的某一個屬性
-
-
-
-
-
-
-
- public static void DelNodeAttribute()
- {
- XmlDocument xmlDoc = new XmlDocument();
-
- xmlDoc.Load(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"));
-
- XmlNodeList nodeList = xmlDoc.SelectSingleNode("Employees").ChildNodes;
-
-
- foreach (XmlNode xn in nodeList)
- {
-
- XmlElement xe = (XmlElement)xn;
- xe.RemoveAttribute("genre");
-
-
- XmlNodeList nls = xe.ChildNodes;
-
-
- foreach (XmlNode xn1 in nls)
- {
- XmlElement xe2 = (XmlElement)xn1;
-
- if (xe2.Name == "flag")
- xe.RemoveChild(xe2);
- }
- }
-
- xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"));
- }
- #endregion
-
- #region 刪除節點
-
-
-
-
-
-
-
- public static void DelNode()
- {
- XmlDocument xmlDoc = new XmlDocument();
-
- XmlNode root = xmlDoc.SelectSingleNode("Employees");
-
- xmlDoc.Load(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"));
-
- XmlNodeList nodeList = xmlDoc.SelectSingleNode("Employees").ChildNodes;
-
- for (int i = 0; i < nodeList.Count; i++)
- {
- XmlElement xe = (XmlElement)nodeList.Item(i);
-
- if (xe.GetAttribute("genre") == "李四")
- {
- root.RemoveChild(xe);
- if (i < nodeList.Count)
- i = i - 1;
- }
- }
-
- xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"));
- }
- #endregion
-
- #region 按照文字檔案讀取XML
-
-
-
-
-
-
-
- public static string XMLReader()
- {
-
- System.IO.StreamReader myFile = new System.IO.StreamReader(System.Web.HttpContext.Current.Server.MapPath("/DataImport/xml/bb.xml"), System.Text.Encoding.Default);
-
- string myString = myFile.ReadToEnd();
- myFile.Close();
- return myString;
- }
- }