很多时候我们需要用到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。

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:XML LINQ 遍历
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    网页生成APP,用做网站的技术去做APP:立即创建

    手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包

    • 上一篇:在服务器端的XSLT过程中出现的编码问题解决方案
    • 下一篇:在KVM虚拟机中的配置xml的代码详解

    相关文章

    相关视频


    • 使用xmlhttp为网站增加域名查询功能的示例代码...
    • 四种XML解析方式详解
    • 基于PHP对XML的操作详解
    • XML和Tomcat的入门知识的详细介绍
    • Xml之Linq如何遍历存储的数据
    • PHP XML Expat
    • XML DOM
    • PHP XML Expat 解析器
    • PHP SimpleXML
    • PHP SimpleXML

    视频教程分类

    • php视频教程
    • html视频教程
    • css视频教程
    • JS视频教程
    • jQuery视频教程
    • mysql视频教程
    • Linux视频教程
    • Python视频教程
    • Laravel视频教程
    • Vue视频教程

    专题

    Xml之Linq如何遍历存储的数据