一個簡單的XML操作類

來源:互聯網
上載者:User

using System;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Web;<br />using System.Xml.Linq;<br />namespace XMLDemo.Web.Component<br />{<br /> public class XMLBll<br /> {<br /> #region 擷取XML檔案<br /> /// <summary><br /> /// 擷取XML檔案<br /> /// </summary><br /> /// <returns></returns><br /> public static string getXMLFile()<br /> {<br /> return HttpContext.Current.Server.MapPath(@"XMLDataBase/Messages.xml");<br /> }<br /> #endregion<br /> #region 查詢XML檔案<br /> /// <summary><br /> /// 擷取所有的留言資訊<br /> /// </summary><br /> /// <returns></returns><br /> public static List<Message> getMessageListFromXML()<br /> {<br /> //載入XML文檔<br /> XDocument doc = XDocument.Load(getXMLFile());<br /> //取出所有的XML節點資訊<br /> var items = doc.Descendants("item")<br /> .Select(p => new<br /> {<br /> ID = Convert.ToInt32(p.Element("ID").Value),<br /> Name = p.Element("Name").Value,<br /> Email = p.Element("Email").Value,<br /> Logo = p.Element("Logo").Value,<br /> Content = p.Element("Content").Value,<br /> AddTime = p.Element("AddTime").Value,<br /> IP = p.Element("IP").Value<br /> });<br /> //實體類集合<br /> List<Message> messages = new List<Message>();<br /> //遍曆集合<br /> foreach (var item in items)<br /> {<br /> Message message = new Message();<br /> message.ID = item.ID;<br /> message.Name = item.Name;<br /> message.Email = item.Email;<br /> message.Logo = item.Logo;<br /> message.Content = item.Content;<br /> message.AddTime = item.AddTime;<br /> message.IP = item.IP;<br /> messages.Add(message);<br /> }<br /> //返回實體類集合<br /> return messages;<br /> }<br /> #endregion<br /> #region 增加XML節點資訊<br /> /// <summary><br /> /// 往XML檔案中插入一條XML節點<br /> /// </summary><br /> /// <param name="message"></param><br /> public static void InsertMessageIntoXML(Message message)<br /> {<br /> //載入XML文檔<br /> XDocument doc = XDocument.Load(getXMLFile());<br /> //建立XML節點資訊<br /> XElement elements = new XElement("item",<br /> new XElement("id", message.ID),<br /> new XElement("name", message.Name),<br /> new XElement("email", message.Email),<br /> new XElement("logo", message.Logo),<br /> new XElement("content", message.Content),<br /> new XElement("addtime", message.AddTime),<br /> new XElement("ip", HttpContext.Current.Request.UserHostAddress));<br /> //添加到根節點中<br /> doc.Root.AddFirst(elements);<br /> //儲存資訊<br /> doc.Save(getXMLFile());<br /> }<br /> #endregion<br /> #region 刪除XML節點內容<br /> /// <summary><br /> /// 根據ID刪除XML文檔中對應節點的資訊<br /> /// </summary><br /> /// <param name="id"></param><br /> public static void deleteMessageFromXML(int id)<br /> {<br /> //載入XML文檔<br /> XDocument doc = XDocument.Load(getXMLFile());<br /> //查詢指定的message集合<br /> var messages = from p in doc.Root.Elements("item")<br /> where p.Element("id").Value == id.ToString()<br /> select p;<br /> //刪除指定的對象<br /> messages.Remove();<br /> //儲存XML檔案<br /> doc.Save(getXMLFile());<br /> }<br /> #endregion<br /> }<br />}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.