关于XML文档操作类

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Xml;
  6
  7 namespace ZW.ClassLibrary
  8 {
  9    public class XmlHelpers
 10     {
 11        /// <summary>
 12        /// XML文档
 13        /// </summary>
 14        XmlDocument xd = new XmlDocument();
 15
 16        /// <summary>
 17        /// 从文件中获取XmlDocument对象
 18        /// </summary>
 19        /// <param name="file">xml文档</param>
 20        /// <param name="type">文档类型</param>
 21        public XmlHelpers(string file, string type)
 22        {
 23            if (type == "path")
 24            {
 25                XmlTextReader xr = new XmlTextReader(file);
 26                xd.Load(xr);
 27                xr.Close();
 28            }
 29
 30            if (type == "text")
 31            {
 32                xd.LoadXml(file);
 33            }
 34        }
 35
 36        /// <summary>
 37        /// 获取第一个匹配节点的属性值
 38        /// </summary>
 39        /// <param name="nodePath"></param>
 40        /// <param name="attrName"></param>
 41        /// <returns></returns>
 42        public string GetAttribute(string nodePath, string attrName)
 43        {
 44            XmlNode xn = xd.SelectSingleNode(nodePath);
 45            if (xn == null) //检测节点是否存在
 46            {
 47                return "";
 48            }
 49            if (xn.Attributes[attrName] == null) //检测属性是否存在
 50            {
 51                return "";
 52            }
 53
 54            return xn.Attributes[attrName].Value;
 55        }
 56
 57        /// <summary>
 58        /// 获取某个节点
 59        /// </summary>
 60        /// <param name="nodePath"></param>
 61        /// <returns></returns>
 62        public XmlNode GetNode(string nodePath)
 63        {
 64            XmlNode xn = xd.SelectSingleNode(nodePath);
 65            return xn;
 66        }
 67
 68        /// <summary>
 69        /// 获取某个节点子集合指定属性值的节点
 70        /// </summary>
 71        /// <param name="nodePath">父节点</param>
 72        /// <returns></returns>
 73        public XmlNode GetNode(string nodePath, string attrName, string attrValue)
 74        {
 75            XmlNodeList xl = GetChildNode(nodePath);
 76            if (xl != null)
 77            {
 78                foreach (XmlNode node in xl)
 79                {
 80                    if (node.Attributes[attrName] != null) //检测属性是否存在
 81                    {
 82                        if (node.Attributes[attrName].Value.Trim() == attrValue)
 83                        {
 84                            return node;
 85                        }
 86                    }
 87                }
 88            }
 89            return null;
 90        }
 91
 92        /// <summary>
 93        /// 获取某个节点上的子节点
 94        /// </summary>
 95        /// <param name="nodePath"></param>
 96        /// <returns></returns>
 97        public XmlNodeList GetChildNode(string nodePath)
 98        {
 99            XmlNodeList xl = null;
100            XmlNode xn = xd.SelectSingleNode(nodePath);
101            if (xl != null)
102            {
103                xl = xd.ChildNodes;
104            }
105            return xl;
106        }
107     }
108 }

时间: 2024-10-13 04:01:15

关于XML文档操作类的相关文章

c# xml文档操作

原文链接 xml 文档 操作实例 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.HtmlControl

word 文档操作类,可以读出word中书签 批量替换内容,直接调用

using System;using System.Collections.Generic;using System.Text;using Word = Microsoft.Office.Interop.Word; namespace ELO.BLL{ /* * Description:用于Word基本操作类 */public partial class Helper_Word { #region 私有成员 private Word.ApplicationClass _wordApplicati

XMLHelper类 源码(XML文档帮助类,静态方法,实现对XML文档的创建,及节点和属性的增、删、改、查)

以下是代码: using System;using System.Collections.Generic;using System.Linq;using System.Web; using System.Xml; namespace WebApplication2{ /// <summary>    /// XMLHelper XML文档操作管理器    /// </summary>    public class XMLHelper    {        public XMLH

XML文档操作工具类

1 /// <summary> 2 /// XML文档操作工具类 3 /// </summary> 4 public class XmlUtil 5 { 6 #region XML文档节点查询和读取 7 8 /// <summary> 9 /// 选择匹配XPath表达式的第一个节点XmlNode. 10 /// </summary> 11 /// <param name="xmlDoc">XML文档</param>

dom4j与XML文档操作

dom4简介 1.  DOM4J是 dom4j.org 出品的一个开源 XML 解析包.DOM4J应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP.  DOM4J 最大的特色是使用大量的接口.它的主要接口都在org.dom4j里面定义 Attribute 定义了 XML 的属性. Branch 指能够包含子节点的节点.如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为 CDATA 定义了 XML CDATA 区域 Charac

文档对象模型操作xml文档

简介 :文档对象模型(DOM)是一种用于处理xml文档的API函数集. 2.1文档对象模型概述 按照W3C的定义,DOM是“一种允许程序或脚本动态地访问更新文档内容,结构和样式的.独立于平台和语言的规范化接口.DOM是表示文档(比如HTML和XML)和访问.操作构成文档的各种元素的应用程序接口,它以树状结构表示HTML和XML文档,定义了遍历这个树和检查.修改树的节点的方法和属性. DOM的核心API还允许你创建和填充文件.加载文档并保存. 2.2DOM实现 微软的net框架在Systemx.x

用ORM的思想操作XML文档,一个对象就搞定不要太简单。滚蛋吧!XmlDocument、XmlNode、Xml***……

大家有没有这样的感受,一涉及XML文档操作就得百度一遍.是不是非!常!烦!.各种类型,各种方法,更别提为了找到一个节点多费劲.本来想写个XML操作的工具方法,写了两行一想既然XML文档是有规律的,如果抽象成一个树形结构的类,查找节点是不是就可以用lambda了,创建修改都是操作类,那不是好用得飞起!说干就干,经过两天打磨,终于是大功告成.系统默认的XML文件相关操作我就不吐槽了,来看看怎么飞起的吧. 设计思路: 写着好多啊,简单来说就是把XML标签分为两类:XmlChildTag子标签和XmlB

自定义工具类---XML文档读取工具类

此类用于对XML文档的读和写进行集成 package cn.jamsbwo.util; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.UnsupportedEncodingException; import org.dom4j.Document; import org.dom4j.DocumentException; import

C# 操作XML文档 使用XmlDocument类方法

W3C制定了XML DOM标准.很多编程语言中多提供了支持W3C XML DOM标准的API.我在之前的文章中介绍过如何使用Javascript对XML文档进行加载与查询.在本文中,我来介绍一下.Net中的XmlDocument类.它支持并扩展了W3C XML DOM标准.它将整个XML文档都先装载进内存中,然后再对XML文档进行操作,所以如果XML文档内容过大,不建议使用XmlDocument类,因为会消耗过多内存.对于很大的XML文档,可以使用XmlReader类来读取.因为XmlReade