关于XML文档操作类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml; namespace ZW.ClassLibrary
{
public class XmlHelpers
{
/// <summary>
/// XML文档
/// </summary>
XmlDocument xd = new XmlDocument(); /// <summary>
/// 从文件中获取XmlDocument对象
/// </summary>
/// <param name="file">xml文档</param>
/// <param name="type">文档类型</param>
public XmlHelpers(string file, string type)
{
if (type == "path")
{
XmlTextReader xr = new XmlTextReader(file);
xd.Load(xr);
xr.Close();
} if (type == "text")
{
xd.LoadXml(file);
}
} /// <summary>
/// 获取第一个匹配节点的属性值
/// </summary>
/// <param name="nodePath"></param>
/// <param name="attrName"></param>
/// <returns></returns>
public string GetAttribute(string nodePath, string attrName)
{
XmlNode xn = xd.SelectSingleNode(nodePath);
if (xn == null) //检测节点是否存在
{
return "";
}
if (xn.Attributes[attrName] == null) //检测属性是否存在
{
return "";
} return xn.Attributes[attrName].Value;
} /// <summary>
/// 获取某个节点
/// </summary>
/// <param name="nodePath"></param>
/// <returns></returns>
public XmlNode GetNode(string nodePath)
{
XmlNode xn = xd.SelectSingleNode(nodePath);
return xn;
} /// <summary>
/// 获取某个节点子集合指定属性值的节点
/// </summary>
/// <param name="nodePath">父节点</param>
/// <returns></returns>
public XmlNode GetNode(string nodePath, string attrName, string attrValue)
{
XmlNodeList xl = GetChildNode(nodePath);
if (xl != null)
{
foreach (XmlNode node in xl)
{
if (node.Attributes[attrName] != null) //检测属性是否存在
{
if (node.Attributes[attrName].Value.Trim() == attrValue)
{
return node;
}
}
}
}
return null;
} /// <summary>
/// 获取某个节点上的子节点
/// </summary>
/// <param name="nodePath"></param>
/// <returns></returns>
public XmlNodeList GetChildNode(string nodePath)
{
XmlNodeList xl = null;
XmlNode xn = xd.SelectSingleNode(nodePath);
if (xl != null)
{
xl = xd.ChildNodes;
}
return xl;
}
}
}
关于XML文档操作类的更多相关文章
- XML文档操作之JAXP下实现
JAXP是java API for xml PRocessing的缩写. 其API可以在javax.xml.parsers 这个包中找到.这个包向用户提供了两个最重要的工厂类,SAXParserFac ...
- XMLHelper类 源码(XML文档帮助类,静态方法,实现对XML文档的创建,及节点和属性的增、删、改、查)
以下是代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...
- XML文档操作集锦(C#篇)
在JSON没流行起来的时候xml一直作为程序存储配置信息的主流介质:特别是小型数据表方面还是不错的选择,所以经常涉及到的操作无非也就是增删改查,这篇博客主要是对这些对比较常用的操作做了个简单的总结 文 ...
- xml文档操作
/** * */package com.gootrip.util; import java.io.ByteArrayOutputStream;import java.io.File;import ja ...
- C#XmlHelper帮助类操作Xml文档的通用方法汇总
前言 该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法(主要包括Xml序列化和反序列化,Xml文件读取,Xml文档节点内 ...
- 用ORM的思想操作XML文档,一个对象就搞定不要太简单。滚蛋吧!XmlDocument、XmlNode、Xml***……
大家有没有这样的感受,一涉及XML文档操作就得百度一遍.是不是非!常!烦!.各种类型,各种方法,更别提为了找到一个节点多费劲.本来想写个XML操作的工具方法,写了两行一想既然XML文档是有规律的,如果 ...
- 文档对象模型操作xml文档
简介 :文档对象模型(DOM)是一种用于处理xml文档的API函数集. 2.1文档对象模型概述 按照W3C的定义,DOM是“一种允许程序或脚本动态地访问更新文档内容,结构和样式的.独立于平台和语言的规 ...
- Java高级特性 第15节 解析XML文档(3) - JDOM和DOM4J技术
一.JDOM解析 特征: 1.仅使用具体类,而不使用接口. 2.API大量使用了Collections类. Jdom由6个包构成: Element类表示XML文档的元素 org.jdom: 解析xml ...
- C#XmlHelper操作Xml文档的帮助类
using System.Xml; using System.Data; namespace DotNet.Utilities { /// <summary> /// Xml的操作公共类 ...
随机推荐
- ios - 沙盒和NSBundle
沙盒 1.沙盒机制介绍 iOS中的沙盒机制是一种安全体系.每个iOS程序都有一个独立的文件系统(存储空间),而且只能在对应的文件系统中进行操作,此区域被称为沙盒.应用必须待在自己的沙盒里,其他应用不能 ...
- Python的迭代器与装饰器
'''迭代器:两个基本方法:iter()和next()迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合等第一个元素开始访问,直到所有的元素被访问结束,迭代器只能往前不会后退. 迭代器有两个基本 ...
- Java代码生成器CodeX4J介绍
用代码生成器生成一些固定的或有规律的代码,可以有效的提高工作效率.我写了个开源的,放在了GitHub上,希望能对有需要的朋友有所帮助. GitHub代码地址https://github.com/jac ...
- $.trim() 去除空格方法 (验证使用)
- 大数据:spark集群搭建
创建spark用户组,组ID1000 groupadd -g 1000 spark 在spark用户组下创建用户ID 2000的spark用户 获取视频中文档资料及完整视频的伙伴请加QQ群:9479 ...
- python自动化学习
1.环境搭建 1.1 下载或拷贝整个PyAuthoTest到指定的目录,如D:\PyAuthoTest 1.2 安装Python2.7以及需要使用到的安装包列表如下 requests-2.10.0.t ...
- ZooKeeper典型使用场景一览
场景类别 典型场景描述(ZK特性,使用方法) 应用中的具体使用 数据发布与订阅 发布与订阅即所谓的配置管理,顾名思义就是将数据发布到zk节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新 ...
- PL/SQL轻量版(四)——存储函数/存储过程与触发器
概述 ORACLE 提供可以把 PL/SQL 程序存储在数据库中,并可以在任何地方来运行它.这样就叫存储过程或函数.过程和函数统称为 PL/SQL 子程序,他们是被命名的 PL/SQL 块,均存储在数 ...
- 20155329实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 1实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 2. 初步掌握单元测试 ...
- 优步uber司机申请了为什么一直没有通过审核,帐号也显示未激活
优步uber现在是越来越火,申请注册成为优步uber司机的人数也日剧增多,申请了的车主都知道,申请后要等待审核,审核通过才可以激活帐号,快的运气好的,三五天不到一个星期就激活了,慢点的得大半个月,还有 ...