主页 > 编程资料 > C# >
发布时间:2015-09-26 作者:网络 阅读:457次
public class CXml
{
    private string strXmlFile;
     private XmlDocument objXmlDoc = new XmlDocument();
     public CXml(string xmlFile)
     {
         //构造函数
         try
         {
              objXmlDoc.Load(xmlFile);
         }
         catch
         {
         }
         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()
     {
         //保存XML文件
         try
         {
              objXmlDoc.Save(strXmlFile);
         }
         catch
         {
         }
         objXmlDoc = null;
     }
}


关键字词: