Xml之Linq遍历
很多时候我们需要用到Xml文件,但是什么是Xml文件呢?
以下我们用一个例子来说明:testResult.xml文件
<?xml version="1.0" encoding="utf-8" ?><Columns><column id="序号"><name>序号</name></column><column id="检验项目"><name>检验项目</name></column><column id="单位"><name>单位</name></column><column id="标准要求"><name>标准要求</name></column><column id="检验结果"><name>检验结果</name></column><column id="结论"><name>结论</name></column></Columns>
以上就是一个Xml文件,我们知道,Xml文件是用来存储数据的,那么我们如何遍历这些数据呢?
其实最简单的方法,就是使用Linq:
private void GetTestResultXml() { List<string> iTestResultXml=new List<string>();//定义并从xml文件中加载节点(根节点) XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml"); //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点......) IEnumerable<XElement> targetNodes = from target in rootNode.Descendants("column")select target;foreach (XElement node in targetNodes) { iTestResultXml.Add(node.Value); } }
这样我们就可以获得<column/>标签里所有的数据了,并把他们存储到列表iTestResultXml中。
在testResult.xml文件中,我们看到,<column/>标签设置了本身的id,而此id并不是他的数据,而是他的一个属性,
那么如果我们想获得他的属性而不是他标签里的内容该如何获得呢?
private void GetTestResultXml() { List<string> iXmlID = new List<string>();//定义并从xml文件中加载节点(根节点) XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml"); //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点......) IEnumerable<XElement> targetNodes = from target in rootNode.Descendants("column")select target;foreach (XElement node in targetNodes) { iXmlID.Add(node.Attribute("id").Value); //获取指定属性的方法 } }
这样我们就获取了<column/>标签里id属性的列表iXmlID。
转载于:https://www.cnblogs.com/jiajiayuan/archive/2012/02/09/2343512.html
Xml之Linq遍历相关推荐
- python里遍历筛选xml文件_python xml.etree.ElementTree遍历xml所有节点实例详解
python xml.etree.ElementTree遍历xml所有节点 XML文件内容: 代码: #-*- coding: UTF-8 -*- # 从文件中读取数据 import xml.etre ...
- php循环获取xml节点,PHP_PHP遍历XML文档所有节点的方法,本文实例讲述了PHP遍历XML文档 - phpStudy...
PHP遍历XML文档所有节点的方法 本文实例讲述了PHP遍历XML文档所有节点的方法.分享给大家供大家参考.具体实现方法如下: 1. contact.xml代码: J J J Manager Nati ...
- 信息树和XML文件的遍历及XML文件的应用
function Save() { //将INfomationTree中的不是Http开头的组,保存到本地,然后再从本地上传到服务器端 var IInformationTree = document. ...
- LINQ to XML 编程基础
http://www.cnblogs.com/luckdv/articles/1728088.html?login=1 1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快 ...
- LINQ学习之旅——最后一站LTX之XML基本操作(下)
上一节,讲解了LINQ TO XML基本操作中的创建,今天继续讲解LINQ TO XML操作的下半部分:输入输出.遍历.查询及修改. 1.在LINQ TO XML中的输出和输出操作主要由Save和L ...
- LINQ: Reconciling objects, relations and XML in the .NET framework
自己译的,感觉意译挺多,不中足之处还请见谅,也算帮找这篇文章的朋友一个忙,转载前没有见过相关协议与说明,如果此篇翻译侵犯了作者权益,请与本人联系,本人将关闭此文章 LINQ: Reconciling ...
- Linq To Xml学习 - 1.LINQ to XML 概述
LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML. 它将 XML 文档置于内存中,这一点很像文档对象模型 ...
- 基于Visual Studio2010讲解LINQ读出数据库数据生成XML
LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML. LINQ to XML 最重要的优势是它与 Lang ...
- LINQ To XML 入门(3)
Some Common Operations using LINQ To XML - Part III In this article, we will explore some common ' ...
最新文章
- 360浏览器打不开qq空间_刘连康:解决电脑网络正常,浏览器打不开的问题
- 设计模式のFactoryPattern(工厂模式)----创建模式
- Cisco PBR Case2
- oracle约束 1或0,Oracle笔记(十) 约束
- rsync 全网备份
- MySQL数据库性能优化方法,一篇给你总结了
- 小米5splus(高配版/全网通)解BL锁教程申请BootLoader解锁教程
- 超微小加速度传感器ADXL362设计
- BP神经网络的应用—分析
- 只读更新全程图解教程(转)
- matlab怎么表示分块矩阵,急求一个测量矩阵采用分块多项式矩阵时怎样引用的代码!!!...
- ROS在同一节点同时订阅和发布消息
- 提高效率:10款好用的谷歌chrome浏览器插件、扩展程序
- vxWorks6.6下基于vxBus的以太网驱动开发
- 如何快速查询学术会议
- SpringFramework、SpringBoot、SpringCloud的区别
- torch.nn.Embedding的使用
- 男人在神永恒国度里的沉思录
- 全球与中国PH和ORP通用分析仪市场深度研究分析报告
- Linux环境变量和命令行参数
热门文章
- cisco ***笔记
- SQL2005服务器上安装SQL2008失败
- [保存]C# 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- 消息系统Kafka介绍
- 表单元素值获取方式js及java方式
- Android 实现静默安装
- preventDefault, stopPropagation, stopImmediatePropagation 三者的区别
- (Access denied for user 'root'@'localhost' (using password: NO))
- linux查找有用日志常用技巧
- Just a test