操作XML公共类

18 篇文章 0 订阅
  1. using System;
  2. using System.IO;
  3. using System.Data;
  4. using System.Xml;
  5. using System.Xml.XPath;
  6. namespace ExecuteXml
  7. {
  8.     /// <summary>
  9.     /// Class1 的摘要说明。
  10.     /// </summary>
  11.     public class XmlControl
  12.     {
  13.         protected string strXmlFile;
  14.         protected XmlDocument objXmlDoc = new XmlDocument(); 
  15.         public XmlControl(string XmlFile)
  16.         {
  17.             //
  18.             // TODO: 在這裡加入建構函式的程式碼
  19.             //
  20.             try
  21.             {
  22.                 objXmlDoc.Load(XmlFile);
  23.             }
  24.             catch (System.Exception ex)
  25.             {
  26.                 throw ex;
  27.             }
  28.             strXmlFile = XmlFile;
  29.         }
  30.         public DataView GetData(string XmlPathNode)
  31.         {
  32.             //查找數據。返回一個DataView
  33.             DataSet ds = new DataSet();
  34.             StringReader read = new StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);
  35.             ds.ReadXml(read);
  36.             return ds.Tables[0].DefaultView;
  37.         }
  38.         public void Replace(string XmlPathNode,string Content)
  39.         {
  40.             //更新節點內容。
  41.             objXmlDoc.SelectSingleNode(XmlPathNode).InnerText = Content;
  42.         }
  43.         public void Delete(string Node)
  44.         {
  45.             //刪除一個節點。
  46.             string mainNode = Node.Substring(0,Node.LastIndexOf("/"));
  47.             objXmlDoc.SelectSingleNode(mainNode).RemoveChild(objXmlDoc.SelectSingleNode(Node));
  48.         }
  49.         public void InsertNode(string MainNode,string ChildNode,string Element,string Content)
  50.         {
  51.             //插入一節點和此節點的一子節點。
  52.             XmlNode objRootNode = objXmlDoc.SelectSingleNode(MainNode);
  53.             XmlElement objChildNode = objXmlDoc.CreateElement(ChildNode);
  54.             objRootNode.AppendChild(objChildNode);
  55.             XmlElement objElement = objXmlDoc.CreateElement(Element);
  56.             objElement.InnerText = Content;
  57.             objChildNode.AppendChild(objElement);
  58.         }
  59.         public void InsertElement(string MainNode,string Element,string Attrib,string AttribContent,string Content)
  60.         {
  61.             //插入一個節點,帶一屬性。
  62.             XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);
  63.             XmlElement objElement = objXmlDoc.CreateElement(Element);
  64.             objElement.SetAttribute(Attrib,AttribContent);
  65.             objElement.InnerText = Content;
  66.             objNode.AppendChild(objElement);
  67.         }
  68.         public void InsertElement(string MainNode,string Element,string Content)
  69.         {
  70.             //插入一個節點,不帶屬性。
  71.             XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);
  72.             XmlElement objElement = objXmlDoc.CreateElement(Element);
  73.             objElement.InnerText = Content;
  74.             objNode.AppendChild(objElement);
  75.         }
  76.         public void Save()
  77.         {
  78.             //保存文檔。
  79.             try
  80.             {
  81.                 objXmlDoc.Save(strXmlFile);
  82.             }
  83.             catch (System.Exception ex)
  84.             {
  85.                 throw ex;
  86.             }
  87.             objXmlDoc = null;
  88.         }
  89.     }
  90. }
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值