栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > asp

Asp.Net+XML操作基类(修改,删除,新增,创建)第1/2页

asp 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Asp.Net+XML操作基类(修改,删除,新增,创建)第1/2页


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Xml;
using System.Text;
using MSXML2;


namespace EC
{
    /// 
    /// XML 操作基类
    /// 

    public class XmlObject : IDisposable
    {      

          

        
        //以下为单一功能的静态类

        #region 读取XML到DataSet
        
        /// 
        /// 功能:读取XML到DataSet中
        /// 

        /// xml路径
        /// DataSet
        public static DataSet GetXml(string XmlPath)
        {
            DataSet ds = new DataSet();
            ds.ReadXml(@XmlPath);
            return ds;
        }
        #endregion

        #region 读取xml文档并返回一个节点
        
        /// 
        /// 读取xml文档并返回一个节点:适用于一级节点
        /// 

        /// xml路径
        /// 节点
        /// 
        public static string ReadXmlReturnNode(string XmlPath,string Node)
        {
            Xmldocument docXml = new Xmldocument();
            docXml.Load(@XmlPath);
            XmlNodeList xn = docXml.GetElementsByTagName(Node);
            return xn.Item(0).InnerText.ToString();           
        }
        #endregion

        #region 查找数据,返回一个DataSet
        
        /// 
        /// 查找数据,返回当前节点的所有下级节点,填充到一个DataSet中
        /// 

        /// xml文档路径
        /// 节点的路径:根节点/父节点/当前节点
        /// 
        public static DataSet GetXmlData(string xmlPath, string XmlPathNode)
        {
            Xmldocument objXmlDoc = new Xmldocument();
            objXmlDoc.Load(xmlPath);
            DataSet ds = new DataSet();
            StringReader read = new StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);
            ds.ReadXml(read);
            return ds;        
        }


        #endregion

        #region 更新Xml节点内容
        
        /// 
        /// 更新Xml节点内容
        /// 

        /// xml路径
        /// 要更换内容的节点:节点路径 根节点/父节点/当前节点
        /// 新的内容
        public static void XmlNodeReplace(string xmlPath,string Node,string Content)
        {
            Xmldocument objXmlDoc = new Xmldocument();
            objXmlDoc.Load(xmlPath);
            objXmlDoc.SelectSingleNode(Node).InnerText = Content;
            objXmlDoc.Save(xmlPath);

        }

        #endregion

        #region 删除XML节点和此节点下的子节点
        
        /// 
        /// 删除XML节点和此节点下的子节点
        /// 

        /// xml文档路径
        /// 节点路径
        public static void XmlNodeDelete(string xmlPath,string Node)
        {
            Xmldocument objXmlDoc = new Xmldocument();
            objXmlDoc.Load(xmlPath);
            string mainNode = Node.Substring(0, Node.LastIndexOf("/"));
            objXmlDoc.SelectSingleNode(mainNode).RemoveChild(objXmlDoc.SelectSingleNode(Node));
            objXmlDoc.Save(xmlPath);
        }

        #endregion

        #region 插入一个节点和此节点的字节点
        
        /// 
        /// 插入一个节点和此节点的字节点
        /// 

        /// xml路径
        /// 当前节点路径
        /// 新插入节点
        /// 插入节点的子节点
        /// 子节点的内容
        public static void XmlInsertNode(string xmlPath, string MailNode, string ChildNode, string Element,string Content)
        {
            Xmldocument objXmlDoc = new Xmldocument();
            objXmlDoc.Load(xmlPath);
            XmlNode objRootNode = objXmlDoc.SelectSingleNode(MailNode);
            XmlElement objChildNode = objXmlDoc.CreateElement(ChildNode);
            objRootNode.AppendChild(objChildNode);
            XmlElement objElement = objXmlDoc.CreateElement(Element);
            objElement.InnerText = Content;
            objChildNode.AppendChild(objElement);
            objXmlDoc.Save(xmlPath);
        }

        #endregion

        #region 插入一节点,带一属性
        
        /// 
        /// 插入一节点,带一属性
        /// 

        /// Xml文档路径
        /// 当前节点路径
        /// 新节点
        /// 属性名称
        /// 属性值
        /// 新节点值
        public static void XmlInsertElement(string xmlPath, string MainNode, string Element, string Attrib, string AttribContent, string Content)
        {
            Xmldocument objXmlDoc = new Xmldocument();
            objXmlDoc.Load(xmlPath);
            XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);
            XmlElement objElement = objXmlDoc.CreateElement(Element);
            objElement.SetAttribute(Attrib, AttribContent);
            objElement.InnerText = Content;
            objNode.AppendChild(objElement);
            objXmlDoc.Save(xmlPath);
        }

        #endregion

        #region 插入一节点不带属性
        
        public static void XmlInsertElement(string xmlPath, string MainNode, string Element, string Content)
        {
            Xmldocument objXmlDoc = new Xmldocument();
            objXmlDoc.Load(xmlPath);
            XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);
            XmlElement objElement = objXmlDoc.CreateElement(Element);
            objElement.InnerText = Content;
            objNode.AppendChild(objElement);
            objXmlDoc.Save(xmlPath);
        }

        #endregion


        //必须创建对象才能使用的类

        private bool _alreadyDispose = false;
        private string xmlPath; 
        private Xmldocument xmlDoc=new Xmldocument();   

        private XmlNode xmlNode;
        private XmlElement xmlElem;    

        #region 构造与释构
        public XmlObject()
        {            

        }       
        ~XmlObject()
        {
            Dispose();
        }
        protected virtual void Dispose(bool isDisposing)
        {
            if (_alreadyDispose) return;
            if (isDisposing)
            {
               //
            }
            _alreadyDispose = true;
        }
        #endregion

        #region IDisposable 成员

        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }

        #endregion
12下一页阅读全文
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/59625.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号