XML操作類

來源:互聯網
上載者:User

  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();

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.