根据节点解析xml

config.xml文件如下:

<?xml version="1.0" encoding="gb2312" ?>
<root>
  <person name="WangYao">
    <age>25</age>
  </person>
  <person name="Jobs">
    <age>56</age>
  </person>
</root>

C#解析代码如下:

            XmlDocument doc = new XmlDocument();
            doc.Load("config.xml");    //加载Xml文件
            XmlElement rootElem = doc.DocumentElement;   //获取根节点
            XmlNodeList personNodes = rootElem.GetElementsByTagName("person"); //获取person子节点集合
            foreach (XmlNode node in personNodes)
            {
                string strName = ((XmlElement)node).GetAttribute("name");   //获取name属性值
                Console.WriteLine(strName);
                XmlNodeList subAgeNodes = ((XmlElement)node).GetElementsByTagName("age");  //获取age子XmlElement集合
                if (subAgeNodes.Count == 1)
                {
                    string strAge = subAgeNodes[0].InnerText;
                    Console.WriteLine(strAge);
                }
            }
            Console.ReadLine();
时间: 2024-08-02 11:38:23

根据节点解析xml的相关文章

解析xml文件,遍历输出xml文件中的所有节点, 最终模仿实现struts2框架

程序结构:src文件夹下存放xml文件 该文件内容: <?xml version="1.0" encoding="UTF-8"?> <mystruts> <actions name="myaction1" namespace="/"> <action name="userdao" class="org.action.UserDAO"> &l

web.xml加载顺序与web.xml常用节点解析

web.xml加载顺序 应用服务器启动时web.xml加载过程,至于这些节点在xml文件中的前后顺序没有关系,不过有些应用服务器,我曾碰到过的 websphere就严格要求web.xml的节点顺序,否则部署不成功,所以还是赞成按照web.xml标准格式写 总的来说, web.xml 的加载顺序是:context-param --> listener --> filter --> servlet 其中, 如果 web.xml 中出现了相同的节点, 则是按照在配置文件中出现的先后顺序来加载的

XML的两种解析方式逐行解析(SAX解析)节点解析(DOM解析);

SAX逐行解析 SAX:SimpleAPIfor XML.基于事件驱动的解析方式,逐行解析数据.(采用协议回调机制) NSXMLParser是iOS自带的XML解析类.采用SAX方式解析数据 解析过程由NSXMLParserDelegate协议方法回调 解析过程:开始标签->取值->结束标签->取值 DOM解析 DOM:DocumentObjectModel(文档对象模型).解析时需要将XML文件整体读入,并且将XML结构化成树状,使用时再通过树状结构读取相关数据 GDataXMLNod

SAX解析xml (遍历DOM树各节点)

本文参考 http://yangjunfeng.iteye.com/blog/401377 1. books.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <bk:books count="3" xmlns:bk="http://test.org/books"> 3 <!--books's comment --> 4 <bk:book i

解析xml文件 selectSingleNode取不到节点(转)

解析xml文件 selectSingleNode取不到节点 2013年02月25日 21:43:39 knight0513 阅读数:1767 在解析xml文件的时候按照原来的方法使用selectSingleNode取不到节点.xml代码如下: <?xml version="1.0" encoding="UTF-8"?> <CwapMessage xmlns="http://wap.homeinns.com/cwap"> &

Linux Shell | 解析xml节点

01 xml文件 # user.xml <user> <name>Toy</name> <sex>man</sex> <room/> </user> 其中第 5 行的<room/> xml 节点是空节点,是比较特殊的格式. 02 多条命令解析xml节点 采用多条命令和管道符也可以解析xml节点,方式如下: [~]$ cat user.xml | grep name | sed 's/^.*<name>

java DOM解析xml文件出现#text节点解决方案

java DOM解析xml文件出现#text节点解决方案 原生java解析xml的方法提供了两个,DocumentBuilder 和 SAXParser. 试了第一个DOM方法,在解析输出节点过程中,getNodeName()输出节点名发现多出了几个#text节点. text.xml <?xml version="1.0" encoding="UTF-8"?> <!-- xml解析测试文件 --> <LData> <ldat

【dom4j】解析xml为map

dom4j解析xml文件 <?xml version="1.0" encoding="utf-8"?> <workflows> <queryRequest> <branchId>88037062</branchId> <merSysId>00000317</merSysId> <queryNo>948983692</queryNo> <billType&

四种生成和解析XML文档的方法详解

众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 一.介绍及优缺点分析 1. DOM(Document Object Model) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的. [优点]      ①允许应用