⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlop.cs

📁 简单的XML学生信息系统
💻 CS
字号:
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;
//51aspx.c_o_m

namespace xmlOp
{
    /// <summary>
    /// xmlOp 类提供对XML文件的读/写/查询/更新/添加/删除 等操作!
    /// </summary>
    public class XmlOp
    {
        //声明一个XmlDocument空对象
        protected XmlDocument doc = new XmlDocument();
        public XmlOp(string xmlFile)
        {
            doc.Load(GetXmlFilePath(xmlFile));//载入Xml文档
        }
        //保存文件
        public void Save(string filePath)
        {
            doc.Save(GetXmlFilePath(filePath));
        }
        //属性查询,返回属性值
        public string SelectAttrib(string XmlPathNode, string Attrib)
        {
            string _strNode = "";
            _strNode = doc.SelectSingleNode(XmlPathNode).Attributes[Attrib].Value;
            return _strNode;
        }
        // 添加属性
        public bool InsertAttrib(string MainNode, string Attrib, string AttribContent)
        {
            try
            {
                XmlElement objNode = (XmlElement)doc.SelectSingleNode(MainNode); //强制转化成XmlElement对象
                objNode.SetAttribute(Attrib, AttribContent);    //XmlElement对象添加属性方法    
                return true;
            }
            catch
            {
                return false;
            }
        }
        //节点值查询与判断
        public bool SelectNode(string XmlPathNode, int index, string NodeText)
        {
            XmlNodeList _NodeList = doc.SelectNodes(XmlPathNode);
            //循环遍历节点,查询是否存在该节点
            for (int i = 0; i < _NodeList.Count; i++)
            {
              if (_NodeList[i].ChildNodes[index].InnerText == NodeText)
              {
                  return true;
                  break;
              }
            }
            return false;
        }
        //获取子节点个数
        public int NodeCount(string XmlPathNode)
        {
            int i = 0;
            try
            {
                i = doc.SelectSingleNode(XmlPathNode).ChildNodes.Count;
            }
            catch
            {
                i = 0;
            }
            return i;
        }
        //插入一个节点,带N个子节点
        public bool InsertNode(string MainNode, string ChildNode, string[] Element, string[] Content)
        {
            try
            {
                XmlNode objRootNode = doc.SelectSingleNode(MainNode);    //声明XmlNode对象
                XmlElement objChildNode = doc.CreateElement(ChildNode);  //创建XmlElement对象
                objRootNode.AppendChild(objChildNode);
                for (int i = 0; i < Element.Length; i++)    //循环插入节点元素
                {
                    XmlElement objElement = doc.CreateElement(Element[i]);
                    objElement.InnerText = Content[i];
                    objChildNode.AppendChild(objElement);
                }
                return true;
            }
            catch
            {
                return false;
            }
        }
        // 根据Xml文件的节点路径,返回一个DataSet数据集
        public DataSet GetDs(string XmlPathNode)
        {
            DataSet ds = new DataSet();
            try
            {
             StringReader read = new StringReader(doc.SelectSingleNode(XmlPathNode).OuterXml);
                ds.ReadXml(read);   //利用DataSet的ReadXml方法读取StringReader文件流
                read.Close();
            }
            catch
            { }
            return ds;
        }
        // 返回Xml文件实际路径
        public string GetXmlFilePath(string xmlFile)
        {
            return xmlFile;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -