程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

XML操作類

編輯:更多關於編程

      public class XmlControl

      {

      protected string strXmlFile;

      protected XmlDocument objXmlDoc = new XmlDocument();

      public XmlControl(string XmlFile)

      {

      //

      // TODO: 在這裡加入建構函式的程序代碼

      //

      try

      {

      objXmlDoc.Load(XmlFile);

      }

      catch (System.Exception ex)

      {

      throw ex;

      }

      strXmlFile = XmlFile;

      }

      public DataView GetData(string XmlPathNode)

      {

      //查找數據。返回一個DataView

      DataSet ds = new DataSet();

      StringReader read = new StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);

      ds.ReadXml(read);

      return ds.Tables[0].DefaultView;

      }

      public void Replace(string XmlPathNode,string Content)

      {

      //更新節點內容。

      objXmlDoc.SelectSingleNode(XmlPathNode).InnerText = Content;

      }

      public void Delete(string Node)

      {

      //刪除一個節點。

      string mainNode = Node.Substring(0,Node.LastIndexOf("/"));

      objXmlDoc.SelectSingleNode(mainNode).RemoveChild(objXmlDoc.SelectSingleNode(Node));

      }

      public void InsertNode(string MainNode,string ChildNode,string Element,string Content)

      {

      //插入一節點和此節點的一子節點。

      XmlNode objRootNode = objXmlDoc.SelectSingleNode(MainNode);

      XmlElement objChildNode = objXmlDoc.CreateElement(ChildNode);

      objRootNode.AppendChild(objChildNode);

      XmlElement objElement = objXmlDoc.CreateElement(Element);

      objElement.InnerText = Content;

      objChildNode.AppendChild(objElement);

      }

      public void InsertElement(string MainNode,string Element,string Attrib,string AttribContent,string Content)

      {

      //插入一個節點,帶一屬性。

      XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);

      XmlElement objElement = objXmlDoc.CreateElement(Element);

      objElement.SetAttribute(Attrib,AttribContent);

      objElement.InnerText = Content;

      objNode.AppendChild(objElement);

      }

      public void InsertElement(string MainNode,string Element,string Content)

      {

      //插入一個節點,不帶屬性。

      XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);

      XmlElement objElement = objXmlDoc.CreateElement(Element);

      objElement.InnerText = Content;

      objNode.AppendChild(objElement);

      }

      public void Save()

      {

      //保存文檔。

      try

      {

      objXmlDoc.Save(strXmlFile);

      }

      catch (System.Exception ex)

      {

      throw ex;

      }

      objXmlDoc = null;

      }

      }

      =========================================================

      實例應用:

      string strXmlFile = Server.MapPath("TestXml.xml");

      XmlControl xmlTool = new XmlControl(strXmlFile);

      // 數據顯視

      // dgList.DataSource = xmlTool.GetData("Book/Authors[ISBN=/"0002/"]");

      // dgList.DataBind();

      // 更新元素內容

      // xmlTool.Replace("Book/Authors[ISBN=/"0002/"]/Content","ppppppp");

      // xmlTool.Save();

      // 添加一個新節點

      // xmlTool.InsertNode("Book","Author","ISBN","0004");

      // xmlTool.InsertElement("Book/Author[ISBN=/"0004/"]","Content","aaaaaaaaa");

      // xmlTool.InsertElement("Book/Author[ISBN=/"0004/"]","Title","Sex","man","iiiiiiii");

      // xmlTool.Save();

      // 刪除一個指定節點的所有內容和屬性

      // xmlTool.Delete("Book/Author[ISBN=/"0004/"]");

      // xmlTool.Save();

      // 刪除一個指定節點的子節點

      // xmlTool.Delete("Book/Authors[ISBN=/"0003/"]");

      // xmlTool.Save();

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved