用递归获取XML元素

看到的一道题,用递归获取XML元素....

static void Main(string[] args)
        {
            string xmlContent = @"<FileSystem>
                                    <DriverC>
                                      <Dir DirName='MSDOS622'>
                                        <File FileName ='Command.com' ></File>
                                      </Dir>
                                      <File FileName ='MSDOS.SYS' ></File>
                                      <File FileName ='IO.SYS' ></File>
                                    </DriverC>
                                    <DriverC>
                                      <Dir>
                                        <File FileName ='DriverC.com' ></File>
                                      </Dir>
                                      <File FileName ='DriverC.SYS' ></File>
                                      <File FileName ='DriverCIO.SYS' ></File>
                                    </DriverC>
                                  </FileSystem>";

            var parentElement = XElement.Parse(xmlContent);

            var elements = FindElements(parentElement.Elements(), "File");
        }

        public static IList<XElement> FindElements(IEnumerable<XElement> elements, 

string elementName)
        {
            if(elements==null||elements.Count()==0
                ||string.IsNullOrWhiteSpace(elementName))
            {
                return new List<XElement>();
            }

            var selectedElements = new List<XElement>();

            foreach (var element in elements)
            {
                if (element.HasElements)
                {
                    selectedElements.AddRange(FindElements(element.Elements(), elementName));
                }
                else
                {
                    if (string.Equals(element.Name.LocalName, elementName))
                    {
                        selectedElements.Add(element);
                    }
                }
            }

            return selectedElements;
        }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索递归
, string
, elements
, element
, var
parentElement
xml获取第一个元素、递归解析xml、dom4j递归遍历xml、xml 递归、java递归解析xml,以便于您获取更多的相关知识。

时间: 2024-12-30 05:37:52

用递归获取XML元素的相关文章

获取xml元素属性个数问题

问题描述 兄弟们:如果一条这样的数据:<datafd_id3="2009-03-1013:16:56"fd_id2="http://testwas.midea.com.cn/miptest/km/culture/doc/km_cul_doc_main/kmCulDocMain.do?method=viewCommPublic&fdId=92051009"fd_id1="济济一堂,共话机电科技发展新蓝图"id="1"

Java递归遍历XML所有元素

做一个递归遍历XML的例子,为更为复杂的解析工作做基础. 目标:遍历所有的元素节点,并且取出来其中的值,结果打印到控制台. 源代码如下: 本程序依赖DOM4j包. import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.DocumentException; import org.dom4j.Element; import java.util.*; /** * Created by IntelliJ

XML入门教程:认识学习 XML 元素

xml|教程|入门教程 XML元素是可扩展的,它们之间是存在着某些关系. XML元素须遵守一些简单的命名规则. XML元素是可扩展的 XML元素是可被扩展,来携带更多的信息. 请看下面这个XML标签例子: <note><to>Tove</to><from>Jani</from><body>Don't forget me this weekend!</body></note> 让我们设想一下,我们创建了一个应用程

JavaScript获取DOM元素的11种方法总结

  JavaScript获取DOM元素的11种方法总结          这篇文章主要介绍了JavaScript获取DOM元素的11种方法总结,本文用分4大类11个方法总结如何获取DOM元素,需要的朋友可以参考下 在Web应用程序特别是Web2.0程序开发中,经常要获取页面中某个元素,然后更新该元素的样式.内容等.如何获取要更新的元素,是首先要解决的问题.令人欣慰的是,使用JavaScript获取节点的方法有很多种,这里简单做一下总结(以下方法在IE7和Firefox2.0.0.11测试通过):

xml-求救:JAVA dom4j获取XML嵌套节点属性值

问题描述 求救:JAVA dom4j获取XML嵌套节点属性值 本人小白,求JAVA DOM4J源码,如: <?xml version="1.0" encoding="UTF-8"?> <test> <a name="1"> <a name="2">测试</a> </a> </test> dom4j怎么解出a节点name属性值,即获得1 2 (*

Qt之解析XML元素(QXmlStreamReader)

简述 对于 XML 的内容,通常情况下,我们只关心 XML 元素的解析.这时,可以通过 QXmlStreamReader 中的便利函数 readNextStartElement() 来实现. 简述 详细介绍 使用 更多参考 详细介绍 之前使用的方式主要使用 readNext() 来读取下一个标记,并返回对应的类型. QXmlStreamReader xml; ... while (!xml.atEnd()) { xml.readNext(); ... // 做处理 } if (xml.hasEr

js获取json元素数量的方法_javascript技巧

本文实例讲述了js获取json元素数量的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <script> var keleyijson={"plug1":"myslider","plug2":"zonemenu","plug3":"javascript"} function JSONLength(obj) { var size = 0, key; for

原生javascript实现获取指定元素下所有后代元素的方法_javascript技巧

本文实例讲述了原生javascript实现获取指定元素下所有后代元素的方法,分享给大家供大家参考.具体实现方法如下: 过去常用的循环递归的方式显得非常的麻烦,下面就分享一个比较简单的方式,使用原生的javascript方法即可实现此功能. 代码实例如下: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author&q

JavaScript获取DOM元素的11种方法总结_javascript技巧

在Web应用程序特别是Web2.0程序开发中,经常要获取页面中某个元素,然后更新该元素的样式.内容等.如何获取要更新的元素,是首先要解决的问题.令人欣慰的是,使用JavaScript获取节点的方法有很多种,这里简单做一下总结(以下方法在IE7和Firefox2.0.0.11测试通过): 1. 通过顶层document节点获取: (1) document.getElementById(elementId):该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法.如果页面上含有多个相同i