創建一個XML文件
/// <summary> /// 創建xml /// </summary> public void createXMl() { //設置配置文件的路徑 XmlTextWriter myXmlTextWriter = new XmlTextWriter(@"..\..\Config\Config.xml", null); //使用 Formatting 屬性指定希望將 XML 設定為何種格式。 //子元素就可以通過 Indentation 和 IndentChar 屬性來縮進。 myXmlTextWriter.Formatting = Formatting.Indented; myXmlTextWriter.WriteStartDocument(false); myXmlTextWriter.WriteStartElement("store"); myXmlTextWriter.WriteComment("記錄信息");//xml中備注 myXmlTextWriter.WriteStartElement("item"); //設置節點的屬性 myXmlTextWriter.WriteAttributeString("Type", "類型"); myXmlTextWriter.WriteAttributeString("Time", "2015-12-1"); //設置子節點 myXmlTextWriter.WriteElementString("code", "123"); myXmlTextWriter.WriteElementString("name", "名稱"); myXmlTextWriter.WriteElementString("price", "33.0"); myXmlTextWriter.WriteEndElement(); myXmlTextWriter.Flush(); myXmlTextWriter.Close(); }
向配置文件中填寫數據
/// <summary> /// 給XML添加數據 /// </summary> public void AddXML() { ///加載文件並選出要結點: XmlDocument doc = new XmlDocument(); doc.Load(@"..\..\Config\Config.xml"); XmlNode root = doc.SelectSingleNode("store"); //創建一個結點 XmlElement xelKey = doc.CreateElement("item"); //設置結點的屬性: //XmlAttribute xelType = doc.CreateAttribute("Type"); //xelType.InnerText = "adfdsf"; //xelKey.SetAttributeNode(xelType); //創建子結點 XmlElement xelAuthor1 = doc.CreateElement("code"); xelAuthor1.InnerText = "銷售商代碼7"; XmlElement xelAuthor2 = doc.CreateElement("name"); xelAuthor2.InnerText = "銷售商名字7"; XmlElement xelAuthor3 = doc.CreateElement("price"); xelAuthor3.InnerText = "郵箱7"; xelKey.AppendChild(xelAuthor1); xelKey.AppendChild(xelAuthor2); xelKey.AppendChild(xelAuthor3); // 最后把book結點掛接在要結點上,並保存整個文件: root.AppendChild(xelKey); doc.Save(@"..\..\Config\Config.xml"); }
讀取出已有的XML數據並循環遍歷轉換成泛型集合返回出去
/// <summary> /// 獲取xml文件中的數據 /// </summary> public List<xmlModel> GetXmlInfo() { XmlDocument xmlDoc = new XmlDocument(); XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreComments = true;//忽略文檔里面的注釋 XmlReader reader = XmlReader.Create(@"..\..\Config\Config.xml", settings); xmlDoc.Load(reader); XmlNode xn = xmlDoc.SelectSingleNode("NewDataSet"); XmlNodeList xnl = xn.ChildNodes; List<xmlModel> xmlModelList = new List<xmlModel>(); foreach (XmlNode xn1 in xnl) { xmlModel xmlModel = new xmlModel(); // 將節點轉換為元素,便於得到節點的屬性值 XmlElement xe = (XmlElement)xn1; // 得到屬性的屬性值 //XmlAttribute xelType = doc.CreateAttribute("Type"); //xelType.InnerText = "adfdsf"; // 得到itme節點的所有子節點 XmlNodeList xnl0 = xe.ChildNodes; xmlModel.SaleCode = xnl0.Item(0).InnerText; xmlModel.SaleName = xnl0.Item(1).InnerText; xmlModel.Email = xnl0.Item(2).InnerText; xmlModel.UserMoblic = xnl0.Item(3).InnerText; xmlModelList.Add(xmlModel); reader.Close(); } return xmlModelList; }
