递归遍历XML节点属性和属性值
2015-09-23 09:49
459 查看
public static XmlDocument FileMergedIntoXML(string strXmlPathPublic) { string strXmlPathPublic = string.Format(@"{0}file1.xml", AppDomain.CurrentDomain.BaseDirectory); XmlDocument docPublic = new XmlDocument(); XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreComments = true; XmlReader readera = XmlReader.Create(strXmlPathPublic, settings); docPublic.Load(readera) getXmlDocNode1(docPublic.DocumentElement); } /// <summary> /// 递归遍历XML文件的节点和属性与属性值 /// </summary> /// <param name="docPublicNode"></param> private static void getXmlDocNode1(XmlNode docPublicNode) { string strNodeName = string.Empty; string strAttributeName = string.Empty; if (docPublicNode.HasChildNodes) { strNodeName = docPublicNode.Name; XmlNodeList xmlnodelist = docPublicNode.ChildNodes; foreach (XmlNode xmlnode in xmlnodelist) { //Console.WriteLine("{0}", docPublicNode.Name.ToString()); if (xmlnode.Attributes.Count > 0) { foreach (XmlAttribute item in xmlnode.Attributes) { strNodeName = xmlnode.Name.ToString() + "=>"+ item.Name + "=>"; //Console.WriteLine(xmlnode); Console.WriteLine("{0} ==>{1}==> {2}", strNodeName, item.Name, item.Value); } strAttributeName = string.Empty; } getXmlDocNode1(xmlnode); } strNodeName = string.Empty; Console.WriteLine(); } else { Console.WriteLine("{0}", docPublicNode.Name.ToString()); Console.WriteLine(); } }
相关文章推荐
- JS编码解码
- 理解 OpenStack + Ceph (1):Ceph + OpenStack 集群部署和配置
- 地址下拉框,需要js级联js
- Google JavaScript 编码规范指南
- Flask+Mysql搭建网站之安装Mysql
- JS模块化编程总结_待续
- 面试题11:数值的整数次方
- 下拉框多级联动辅助js,优化您的下拉框
- DRP学习进化模型
- [ASP.NET]分析MVC5源码,并实现一个ASP.MVC
- linux之iptable案例
- iOS高仿城觅应用客户端项目(开发思路和代码)
- JSP使用JDBC完成动态验证及采用MVC完成数据查询的方法
- Objective-C中NSNumber与NSDictionary的用法简介
- centos6.5搭建lnmp环境
- C++之tinyXML的使用详解
- Codeforces Round #321 (Div. 2) D Kefa and Dishes(dp)
- 正则表达式 匹配中文
- jQuery实现AJAX定时刷新局部页面实例
- 虚拟机简单一键初始优化