zoukankan      html  css  js  c++  java
  • Linq to XML Descendants 和 Elements的区别

    xml结构:

    <?xml version="1.0" encoding="utf-8" ?>
    <foo>
        <bar>Test 1</bar>
        <baz>
            <bar>Test 2</bar>
        </baz>
        <bar>Test 3</bar>
    </foo>

     查询代码:

    XDocument doc = XDocument.Load("input.xml");
    XElement root = doc.Root;
    
    foreach (XElement e in root.Elements("bar"))
    {
        Console.WriteLine("Elements : " + e.Value);
    }
    
    foreach (XElement e in root.Descendants("bar"))
    {
        Console.WriteLine("Descendants : " + e.Value);
    }

     结果:

    Elements : Test 1
    Elements : Test 3
    Descendants : Test 1
    Descendants : Test 2
    Descendants : Test 3

    由上可知,Elements不能查询包含在其子节点中的<bar>节点的元素,它是查询root直接所属的一级chirden元素,而Descendants是查询root节点下的所有的<bar>节点元素。
    另外,Elements写法繁琐,需要从根节点元素一直往下开始写:如root.Elements("baz").Elements("bar"),而Descendants则不需要,直接root.Descendants("name")就可以了


  • 相关阅读:
    node基础(2)
    node基础知识(1)
    面试题1
    HTML5中的表单属性
    H5中元素的拖放
    Niagara基于javascript的控件开发
    CSS居中
    2018-3-21 url 、href、src
    2018-3-7 色彩的一些知识
    JS基本数据类型
  • 原文地址:https://www.cnblogs.com/bianlan/p/3050530.html
Copyright © 2011-2022 走看看