关于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开发》
28年前有人发明www microsoft技术开发人员lot 看论文可以看中国知网 微软亚洲研究院 WWDC苹果开发者大会上,苹果都会发布一些新的公司发展出的新的产品的新技术.iOS开发,用到的语言有 ...
- redis 安装 配置 及启动
linux下安装redis及其中遇到的问题的解决方法1.将下载好的压缩包放到/usr/local目录下# tar xzf redis-3.0.2.tar.gz# cd redis-3.0.2# mak ...
- http 协议状态码
1xx 信息类状态码 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分.(HTTP 1.1新) 101 - Switching Protocols 服务器将遵从客户 ...
- Web开发生存工具使用指南
这里安利两款我认为开发中能够极大的提高生产力的工具,Charles 和 Postman. P.S. Charles(查尔斯)..不要再读查理斯了,金刚狼中被老铁扎心的博士就叫 CharlesP.P.S ...
- linux查看网卡地址和硬盘序列号
linux查看网卡地址命令:ifconfig linux查看硬盘序列号命令:hdparm -i /dev/sda
- shell习题第9题:sed的常用用法
[题目要求] 把一个文本文档的前5行中包含字母的行删除掉,同时把6到10行中的全部字母删除掉. [核心要点] sed命令 [脚本] .txt |sed '/[a-zA-Z]/d' .txt |sed ...
- 【Linux】计划任务
计划任务的意义 计划任务 创建和管理在指定时间自动执行的任务 注意事项 要使任务计划在指定时间自动运行,计划任务的服务必须是启动的 计划任务分类 使用at命令调用atd进程设置在某个特定的时间,执行一 ...
- 微信下载app需要点击右上角在浏览器中打开下载的问题
很多朋友是不是遇到过这样的问题,自家的app通过微信推广没办法直接下载,而是需要通过一个遮罩层来提示用户下载. 点击下载按钮提示点击右上角在浏览器中打开 这样的方式下载一个app是不是需要点击下载按钮 ...
- java爬虫爬取网页内容前,对网页内容的编码格式进行判断的方式
近日在做爬虫功能,爬取网页内容,然后对内容进行语义分析,最后对网页打标签,从而判断访问该网页的用户的属性. 在爬取内容时,遇到乱码问题.故需对网页内容编码格式做判断,方式大体分为三种:一.从heade ...
- python学习——简介和入门
一.Python简介: Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...