您的位置:首页 > 其它

谈谈获取XML格式数据中特定节点值的方法

2010-06-26 16:50 225 查看
为了打发闲暇时间,从3月份开始在博客里面写文章,对.net领域的粗浅认识、工作当中解决实际问题的过程、阅读技术牛人的感想、对各方面知识的总结梳理等等都被摆上台面。无奈技术理解肤浅,文字表达能力有限,写出来的东西让人提不起兴趣,纯属自娱自乐吧,权当作为自己技术积累的仓库了,嘿嘿。

下面就写点有关xml技术方面的东西,xml在我目前所负责的模块中应用很广,经常遇到对xml数据的操作。

主要有以下情形:

1.在windws服务里面调用web服务方法返回xml格式数据的字符串。

2.根据xml数据中的信息将xml数据存入数据库。

3.自己根据xml数据中的信息组织成新的xml数据存入数据库。

上述情形都涉及到如何获取xml特定节点的值,在我的项目中目前有3中方法:

1.将xml字符串转换为一个dataset,这就变成了如何得到datatable中某一行某一列值的问题,不在此讨论。

2.将xml字符串转化为XmlDocument类,根据节点名称找到节点的集合XmlNodeList,在循环集合过程中,根据节点的子节点ChildNodes的数量以及索引来找,这种方法要求对xml的数据格式非常熟悉。

3.将xml字符串转化为XmlDocument类,根据节点名称找到节点的集合XmlNodeList并结合XPath语言来找,这种方法比较灵活,所需代码也较少,需要对xml数据格式和XPath都很熟悉。

下面是几个实例:

XmlNodeList xNodeLst = doc.SelectNodes("/NewDataSet/Table1[VP_ID=" + dr["fid"].ToString() + "]/VP_ID");(得到xml数据中VP_ID节点的值等于dr["fid"].ToString()的节点名称为VP_ID节点的集合)。

string strFId = xmlQueryResult.SelectSingleNode("/NewDataSet/Table1[ID]").InnerText;(获取xml数据中节点名称为ID的节点的唯一值)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: