C#操作XML,如何获取指定节点值?
博客园提问,结合网友回答http://q.cnblogs.com/q/36082/
打开是treelist树形显示xml所有节点,递归来实现
xmlDoc = new XmlDocument();
xmlDoc.Load(filename);
XmlNode node = xmlDoc.DocumentElement; TreeListNode rootNode = treeListNode.AppendNode(new object[] { node.Name }, -, node);
GenerateNodeTree(rootNode, node);
private void GenerateNodeTree(TreeListNode rootNode, XmlNode node)
{
for (int i = ; i < node.ChildNodes.Count; i++)
{
XmlNode xnl = node.ChildNodes[i];
TreeListNode childNode = treeListNode.AppendNode(new object[] { xnl.Name }, -, xnl);
treeListNode.MoveNode(childNode, rootNode);
GenerateNodeTree(childNode, xnl);
}
}
我用的treelist控件控件进行各个节点的显示,treelist的第一列存xmlnode.name,第二列是
xmlnode.value,tag是node。所以修改后,可以遍历这些节点值或者注释的父节点下的所有子节点,= tag的就是这个修改的节点,设置其value后保存即可
其中
xmlDoc是一个全局变量,打开时给他赋值,以后不重复打开了。如果重复打开同一文件判断
(xnl == node)时很可能不相等
/// <summary> /// 修改 <a>text</a> 里的text,防止内部有注释或者更多注记。此函数仍不好用,复杂的就无法处理了,需改进 /// </summary> /// <param name="xmlpath">The xmlpath.</param> /// <param name="node">The node.</param> /// <param name="value">The value.</param> private void UpdateInnerXml(string xmlpath, string nodename, string value, XmlNode node) { try { XmlNode xn = xmlDoc.SelectSingleNode(nodename); XmlNode xnl = null; bool exist = false; ////理论上这里可以找到一个子节点Name == "#text"且=treelist node的tag,如果没找到再考虑截位 for (int i = ; i < xn.ChildNodes.Count; i++) { xnl = xn.ChildNodes[i]; if (xnl == node) { exist = true; break; } } if ((xnl != null) && exist) { xnl.Value = value; node.Value = value; } else { XmlElement xe = (XmlElement)xn; ////截取xe.InnerXml中xe.InnerText部分替换为修改内容,有与xe.InnerText相同的其他地方就无法处理了 xe.InnerXml = xe.InnerXml.Substring(, xe.InnerXml.IndexOf(xe.InnerText)) + value + xe.InnerXml.Substring(xe.InnerXml.IndexOf(xe.InnerText) + xe.InnerText.Length); } xmlDoc.Save(xmlpath); } catch { } }
C#操作XML,如何获取指定节点值?的更多相关文章
- XML操作 之获取指定节点值
根据节点名称快速查找 指定节点值 using (TextReader stringReader = new StringReader(clearPassResponse)) { XmlReaderSe ...
- 从UEditor内容中获取指定节点值(转)
今天吐槽一下百度的富文本编辑器UEditor,这种富文本编辑器极大地方便我们上传文件,开发人员无需编写任何上传代码,只需配置几个路径即可.但高度集成的东西有时也显得笨重,灵活度不高.比如:编辑器中我既 ...
- (转载)读取xml中的指定节点的值
/// <summary> /// 读取xml中的指定节点的值 /// </summary> private st ...
- 读取xml中的指定节点的值
/// <summary> /// 读取xml中的指定节点的值 /// </summary> private string ReadXmlNode(string filenam ...
- Jmeter 通过json Extracted 来获取 指定的值的id
在没有 精确或模糊查询的接口时可以使用jmeter 获取指定的值的ID import java.lang.String ; String getTargetName="iphone632g& ...
- C#:Json数据反序列化为Dictionary并根据关键字获取指定的值
转自曾是土木人原文 C#:Json数据反序列化为Dictionary并根据关键字获取指定的值 Json数据: { "dataSet": { "header": ...
- Oracle数据库 获取CLOB字段存储的xml格式字符串指定节点的值
参照: Oracle存储过程中使用游标来批量解析CLOB字段里面的xml字符串 背景:在写存储过程时,需要获取表单提交的信息.表单信息是以xml格式的字符串存储在colb类型的字段dataxml中,如 ...
- xml获取指定节点的路径
引用自http://www.w3school.com.cn/xpath/xpath_syntax.asp XPath 语法 Previous Page Next Page XPath 使用路径表达式来 ...
- 读取XML文件的指定节点的值 并转换为Item
cmb_State_Send.ItemsSource = null; XmlDocument doc = new XmlDocument(); doc.Load("D:\\模板\\Works ...
随机推荐
- 个人对final发布产品的排名
结果 作品 组长 个人评委名次 个人评委平均 个人评委方差 投票数 团队评委名次 团队评委平均 团队评委方差 武志远-新蜂-俄罗斯 武志远 1 2.22 1.91 23 1 2 0.80 王森-天天向 ...
- 揭秘PHP匿名函数
揭秘PHP匿名函数 定义:匿名函数就是没有名字的函数. 有2种形式的匿名函数: 形式1:将一个匿名函数"赋值"给一个变量--此时该变量就代表该匿名函数了! 形式2: 是直接将一个匿 ...
- 一个Activity掌握Design新控件 (转)
原文地址:http://blog.csdn.net/lavor_zl/article/details/51295364 谷歌在推出Android5.0的同时推出了全新的设计Material Desig ...
- Java自己实现双向链表LinkList
/** * <p> * Node 双向链表实体类 * <p> * * @author <a href="mailto:yangkj@corp.21cn.com& ...
- [转]Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
原文地址:http://www.ablanxue.com/prone_3552_1.html 1. 查询整个映射对象所有字段 Java代码 //直接from查询出来的是一个映射对象,即:查询整个映射对 ...
- 创建mysql 存储过程
CREATE PROCEDURE `test_insert_stu`() BEGIN DECLARE num INT; SET num = 0; WHILE (num<10) DO insert ...
- 【BZOJ 1503】【NOI 2004】郁闷的出纳员
$Splay$模板题. 复习一下伸展树的模板. 一定不要忘了push啊!!! 对于减工资后删掉员工的操作,我选择插入一个$min+delta_{减少的工资}$的节点,把它$Splay$到根,砍掉它自己 ...
- java基础语法要点<一>(基于1.8)
http://yishouce.com/java/run http://www.shucunwang.com/RunCode/java/ 数据类型 8种基本数据类型及对应的 类型封装器 byte, s ...
- GIF/PNG/JPG和WEBP/base64/apng图片优点和缺点整理
GIF/PNG/JPG/WEBP/APNG都是属于位图(位图 ,务必区别于矢量图): GIF/PNG和JPG这三种格式的图片被广泛应用在现今的互联网中,gif曾在过去互联网初期慢速的情况下几乎是做到了 ...
- 关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析
原文:关于Android中图片大小.内存占用与drawable文件夹关系的研究与分析 相关: Android drawable微技巧,你所不知道的drawable的那些细节 经常会有朋友问我这个问题: ...