我是靠谱客的博主 怕黑乌龟,这篇文章主要介绍Xml之Linq如何遍历存储的数据,现在分享给大家,希望可以做个参考。

很多时候我们需要用到Xml文件,但是什么是Xml文件呢?

以下我们用一个例子来说明:testResult.xml文件

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
private void GetTestResultXml() { List<string> iTestResultXml=new List<string>(); //定义并从xml文件中加载节点(根节点) XElement rootNode = XElement.Load(@"....XmltestResult.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并不是他的数据,而是他的一个属性,

那么如果我们想获得他的属性而不是他标签里的内容该如何获得呢?

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
private void GetTestResultXml() { List<string> iXmlID = new List<string>(); //定义并从xml文件中加载节点(根节点) XElement rootNode = XElement.Load(@"....XmltestResult.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。

以上就是Xml之Linq如何遍历存储的数据的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是怕黑乌龟最近收集整理的关于Xml之Linq如何遍历存储的数据的全部内容,更多相关Xml之Linq如何遍历存储内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(91)

评论列表共有 0 条评论

立即
投稿
返回
顶部