关于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的操作公共类 ...
随机推荐
- C# WebClient Get获取网页内容
//不知道怎么删除,只好留着 1. Get方式: WebClient web = new WebClient(); var html = web.DownloadString(url); 2. Pos ...
- Linux操作系统相关
在工作过程中,如果大家接触的操作系统比较多的话,会发现aix,hpux,CentOS,Redhat命令上都有一定的差异,实则是操作系统内引用的bash(Bourne-Again SHell)不一样,现 ...
- 解决placeholder对ie9及以下的不兼容
具体的看代码,都写在注释里了,欢迎讨论 <script> $(function () { /* *页面加载立刻执行 *@method:each遍历每个包含placeholder属性的对象( ...
- 学习ThinkPHP5的第一天(安装 连接数据库)
参考文档:thinkPHP5.0完全手册 一.安装 采用的是git安装方式: 应用项目:https://github.com/top-think/think 核心框架:https://github. ...
- 嵌入式C语言自我修养 09:链接过程中的强符号和弱符号
9.1 属性声明:weak GNU C 通过 __atttribute__ 声明weak属性,可以将一个强符号转换为弱符号. 使用方法如下. void __attribute__((weak)) fu ...
- HTML5新增元素,标签总结
总是遇到h5新标签的笔试题目,就查阅了资料来总结一下: 1.form相关: (1)form属性:在HTML5中表单元素可放在表单之外,通过给该元素添加form属性来指向目标表单(form属性值设为目标 ...
- BZOJ 小Z的袜子 2038 国家集训队
过程: 想了很久如何求组合数C(n,m),然而 YL 同学提醒了可以直接除以 2*n*(n - 1 ).改了之后果然对了,以为一定是一次性AC 了,然而 WA 了3次,尴尬 —— 神 TM,ZC 苟看 ...
- SublimeText 改变 tab的距离
view -> Indentation -> Tab width ……
- struts常用知识
一,struts2是什么? struts2是一个控制框架,相当于连接底层和显示层,控制页面和数据展示 二,为什么用struts2? jsp+javabean模式:jsp里的小脚本java代码太多,页面 ...
- 【转载】从零实现3D图像引擎:(1)环境配置与项目框架
原文:从零实现3D图像引擎:(1)环境配置与项目框架 0. 要学懂3D程序设计,必然要精通3D相关的线性代数.3D几何.复分析等相关知识,我也因为如此才开始这个博客系列的写作,不自己实现,就不是自己的 ...