using System; using System.Xml; using System.Collections.Generic; using System.Text; namespace janyo.io { public class XmlUtility { private static string xmlfilename=""; public static string XmlFileName { set { xmlfilename=value; } } private void loadXmlDoc() { //XmlDocument xdoc = new XmlDocument(); //xdoc.Load(xmlfilename); } private static string getFileName() { return ""; } /// <summary> /// 读取节点的值 /// </summary> /// <param name="node">节点名称</param> /// <returns></returns> public static string getValueByNode(string node) { string temp =""; XmlTextReader xrd =new XmlTextReader(xmlfilename); while (xrd.Read()) { if (xrd.NodeType==XmlNodeType.Element) { if (xrd.Name==node) { temp=xrd.ReadElementContentAsString(); return temp; } } } xrd.Close(); return ""; } /// <summary> /// 查找某个所有匹配条件的节点值 /// </summary> /// <param name="xpath">节点xpath表达式;/siteconfig/item[@id=var]</param> /// <returns></returns> public static System.Collections.ArrayList getItems(string xpath) { XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(xmlfilename); XmlNodeList xnodelist = xmldoc.SelectNodes(xpath); System.Collections.ArrayList arr = new System.Collections.ArrayList(); if (xnodelist.Count==0) { return null; } foreach (XmlNode xnod in xnodelist) { arr.Add(xnod.InnerText); } xmldoc = null; return arr; } /// <summary> /// 读取某个节点的属性值 /// </summary> /// <param name="node">节点名称</param> /// <param name="attrs">属性,可以读写该节点多个属性</param> /// <returns></returns> public static System.Collections.ArrayList getValueByNode(string node,params string[] attrs) { XmlReader xrd = XmlReader.Create(xmlfilename); while (xrd.Read()) { if (xrd.NodeType == XmlNodeType.Element) { if(xrd.Name==node) { //string[] temp=null; System.Collections.ArrayList arlist = new System.Collections.ArrayList(); // int i =0; foreach (string attr in attrs) { arlist.Add(xrd.GetAttribute(attr)); // i++; } return arlist; } } } xrd.Close(); return null; } /// <summary> /// 删除某个节点 /// </summary> /// <param name="xpath">节点xpath表达式;/siteconfig/item[@id=var]</param> public static void deletNode(string xpath) { XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(xmlfilename); XmlNode xnod=xmldoc.SelectSingleNode(xpath); xnod.ParentNode.RemoveChild(xnod); xmldoc.Save(xmlfilename); } /// <summary> /// 更新某个节点的值 /// </summary> /// <param name="xpath">节点xpath表达式;/siteconfig/item[@id=var]</param> /// <param name="value">更新值<node></node></param> public static void updateNode(string xpath, string value) { XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(xmlfilename); XmlNode xnod = xmldoc.SelectSingleNode(xpath); xnod.InnerText = value; xmldoc.Save(xmlfilename); xmldoc = null; } /// <summary> /// 批量更新节点屬性的值 /// </summary> /// <param name="xpath">节点xpath表达式;/siteconfig/item[@id=var]</param> /// <param name="attrs">屬性名稱值對<node></node></param> public static void updateNode(string xpath, string[] attrs) { XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(xmlfilename); XmlNodeList xnodlist = xmldoc.SelectNodes(xpath); foreach (XmlNode xnod in xnodlist) { xnod.Attributes[attrs[0]].Value=attrs[1]; } // xnod.InnerText = value; xmldoc.Save(xmlfilename); xmldoc = null; } /// <summary> /// 在指定节点插入子节点 /// </summary> /// <param name="xpath">节点xpath表达式;/siteconfig/item[@id=var]</param> /// <param name="value">节点值<node></node></param> /// <param name="cNode">待插入的节点</param> public static void insertNode(string xpath, string cNode,string value,params string[] attrs) { XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(xmlfilename); XmlNode xnod = xmldoc.SelectSingleNode(xpath); XmlElement xn = xmldoc.CreateElement(cNode); int attrsLength = attrs.GetUpperBound(0)+1; if (attrsLength%2!=0) { throw new Exception("屬性名稱值對不相等"); } for (int i = 0; i <attrs.GetUpperBound(0)+1; i++) { xn.SetAttribute(attrs[i], attrs[i+1]); i++; } xnod.AppendChild(xn); xnod.LastChild.InnerText=value; xmldoc.Save(xmlfilename); xmldoc = null; } } }
发表评论
-
ipchange
2009-11-23 21:00 659public string ipChange(u ... -
C# excel
2009-09-17 13:09 2165using System; using System. ... -
遍历类的属性
2009-08-12 11:23 742Response.Write(getProperties(l ... -
SqliteHelper
2009-07-27 14:46 1347using System; using Syst ... -
网址收藏
2009-07-23 14:50 699http://www.cnblogs.com/arte ... -
。net常用工具
2009-07-23 14:48 1746ildasm:反编译.net程序; ilasm:编译 ... -
c#生成Excel
2009-07-23 14:45 2543using System;using System.Colle ... -
C#操作Word!
2009-07-23 14:44 3777using System; using System.Com ... -
验证控件网页代码分析2
2009-07-23 14:43 938还有一个子程序是更新整个页面的验证状态: //更新整个页面 ... -
验证控件网页代码分析
2009-07-23 14:38 1531如果我们在文本框中什么都没有输入,直接点击按钮,则激发Butt ... -
ASP.Net 向xml文件中添加数据(insert操作)
2009-07-23 14:33 1009try { ... -
ip地址转换
2009-07-23 14:30 1104public String getIp(long ip10) ... -
BASE64加密解密
2009-07-23 14:28 789string base64EncodeChars = & ... -
winform Splash加载窗口
2009-07-23 14:28 1868static ApplicationContext conte ... -
C#实现快捷键(系统热键)响应
2009-07-23 14:27 1880C#实现快捷键(系统热键)响应 在应用中,我们可能会需要 ... -
WinForm的一些常用技巧
2009-07-23 14:22 2179在任务栏不显示 将WinForm的ShowInT ... -
去除文本中的标签
2009-07-23 14:10 736/// <summary> / ... -
C#验证码
2009-07-23 14:03 1243using System; using System.Dra ... -
des和RSA两种加密方式的例子
2009-07-23 13:50 1309static public string RSA_Encry ...
相关推荐
xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作xml操作
XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类
基于QT的QDomDocument封装的XML操作,显示类。使在QT中操作XML比较方便,快捷。如果觉得那里封装的不好,欢迎提出宝贵意见,建议,我再改正。
动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件...
tinyxml,很好用的xml操作类,c++版,删除了乱七八糟的工程文件,用时include一下两个头文件即可。具体使用方法参考:http://blog.csdn.net/zhangrentian/archive/2010/01/15/5194875.aspx
XML操作类(完整)使用于C#领域,更好的操作XML文件
c#下操作xml文件类,方便调用操作。 xml操作日趋常见,xml格式相对规范,通过xml存储信息更加方法,采用该类可以方便操作。
简单实用的XML操作通用类,实现的功能包括创建XML文档、增加节点、删除节点和读取节点的值等。
最近做项目,要用C#写,而且数据格式是那种节点套节点能把人套死的XML,看着都觉得晕,而且节点跳跃性很大,真心觉得单纯用环境自带的XMLDocument类完全达不到自己的需要,因为XML里面涉及到节点循环,循环里面又套...
java对xml操作,包括各种读写,java对xml操作的项目案例
Xml操作类,项目中使用的,包含读取数据、插入数据、修改数据、删除数据 附带使用方法。
初学者学习使用的xml操作,例子简单,容易上手
xml教程(增删改)xml教程 xml xml操作教程 xml读取-程序员百味www.bywei.cnxml教程(增删改)xml教程 xml xml操作教程 xml读取-程序员百味www.bywei.cnxml教程(增删改)xml教程 xml xml操作教程 xml读取-程序员百...
xml的所有操作.xml的所有操作.xml的所有操作.xml的所有操作.
该代码主要实现了根据xml中定义的扩展字段Expand动态生成textbox,填写后更新xml的一个源码,包括xml的增删改查功能。算是比较全的一个xml操作源码了。主要是为了公司项目做的可行性研究,欢迎交流分享。
asp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用...
对xml操作的整理,包括增、删、改 、查方法操作
包含了常用的xml操作.并有详细说明.不需要在写任何代码.包含了xml的常用操作.代码中使用了xml4.0的库.需要自己手动添加.
对tinyxml2再封装,使使用更加便捷,方便。*******************************
c# XMLHelper xml操作类