看到的一道题,用递归获取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()==
||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;
}

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

  1. 使用getElementById获取xml中的指定元素

    Document有一个getElementById的方法,在文档中的解释是:     返回具有带给定值的 ID 属性的 Element.如果不存在此类元素,则此方法返回 null.如果多个元素具有带该 ...

  2. 递归遍历XML所有节点

    package xml; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.DocumentEx ...

  3. 获取XML数据

    http://www.w3school.com.cn/xml/xml_elements.asp <?xml version="1.0" encoding="gb23 ...

  4. 获取DOM元素位置和尺寸大小

    JavaScript获取DOM元素位置和尺寸大小 在一些复杂的页面中经常会用JavaScript处理一些DOM元素的动态效果,这种时候我们经常会用到一些元素位置和尺寸的计算,浏览器兼容性问题也是不可忽 ...

  5. Python 关于xpath查找XML元素的一点总结

    关于xpath查找XML元素的一点总结 by:授客 QQ:1033553122   欢迎加入全国软件测试qq群:7156436   测试环境 Win7 64 python 3.4.0 实践出真知 代码 ...

  6. 如何获取xml循环体报文内容

    Xml报文格式如下所示:   <body> <FILENAME></FILENAME> <records>20</records> < ...

  7. javascript实现浏览器管理员工具鼠标获取Html元素 并生成 xpath

    javascript实现浏览器管理员工具鼠标获取Html元素 并生成 xpath 看看标题就被吓尿了,够长吧.让我们看看到底是个什么玩意.. 直接上图: 就是这个东东了,做为一个写爬虫的,有必要了解下 ...

  8. JavaScript笔记03——文档对象模型(Document Object Model,简称DOM):获取HTML元素、操作HTML元素

    Dom技术使得用户页面可以动态地变化,如可以动态地显示或隐藏一个元素,改变它们的属性,增加一个元素等,Dom技术使得页面的交互性大大地增强.[1] DOM实际上是以面向对象方式描述的文档模型.DOM定 ...

  9. C# 递归读取XML菜单数据

    在博客园注册了有4年了,很遗憾至今仍未发表过博客,趁周末有空发表第一篇博客.小生不才,在此献丑了! 最近在研究一些关于C#的一些技术,纵观之前的开发项目的经验,做系统时显示系统菜单的功能总是喜欢把数据 ...

随机推荐

  1. JS动态获取数据

    JS访问数据,有实时获取数据的时候,请加上时间戳 如:'&stampflag=' + Math.round(new Date().getTime() / 1000); 因为有的浏览器(如IE9 ...

  2. ubuntu 开机显示错误:无法应用原保存的显示器配置

    无法应用原保存的显示器配置CRTC 63:尝试 800x600@60Hz 模式输出在 1366x768@60Hz (通过 0)CRTC 63:尝试 2560x1600@60Hz 模式输出在 1366x ...

  3. arpg网页游戏之地图(三)

    地图分块加载类MapEngine,主要包含以下属性: g 地图层graphics,地图将画在上面 buffPixelRange 地图加载范围矩形 viewPort 屏幕视窗 currZoneArr 已 ...

  4. Unity IoC Container创建对象过程

    Unity是微软P&P推出的一个开源的IoC框架,最新的官方版本是2.0.Unity之前的版本建立在一个称为ObjectBuild的组件上,熟悉EnterLib的读者,相信对ObjectBui ...

  5. LC.exe已退出,代码为-1错误

    因为证书的原因,把项目中“properties”目录下的“license.licx”文件删除,再编译就成功了.如图:

  6. PHP调试总结

    PHP调试总结一,环境方面,比如查看安装扩展是否生效,是总支持某扩展.可以在web目录中建一个phpinfo.php在里面输入<?phpphpinfo();?>在浏览器上访问一下,会输出P ...

  7. BackgroundWorker控件

    在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示 ...

  8. openLDAP

    错误提示: D:\OpenLDAP>slapd -d 256 515a48ae OpenLDAP 2.4.34 Standalone LDAP Server (slapd)515a48af co ...

  9. WSGI

    [WSGI] WSGI:Web Server Gateway Interface. WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求.我们来看一个最简单的Web版本的 ...

  10. ubuntu下安装迅雷

    ----------------------------------2016-03-28新增适用于ubuntu16.04系列的安装包---------------------------------- ...