C#读取Xml文件
2012-02-27 23:49
225 查看
C#中可以用XmlDocument类操作Xml文件
例如要读取如下Xml文件
程式如下
其中XmlElement继承自XmlNode
XmlElement有GetAttribute()&GetElementsByTagName()等方法而XmlNode没有
不管使用XmlNode的ChildNodes属性还是XmlElement的GetElementsByTagName()方法获取的都是XmlNodeList
那这里就存在获取的XmlNodeList中的XmlNode到底是什么类型的问题
可以根据XmlNode的NodeType属性判断
如若等于XmlNodeType.Element就可以强转为XmlElement从而使用XmlElement的方法
例如要读取如下Xml文件
<root> <person name="WangYao"> <age>25</age> </person> <person name="Jobs"> <age>56</age> </person> </root>
程式如下
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); } }
其中XmlElement继承自XmlNode
XmlElement有GetAttribute()&GetElementsByTagName()等方法而XmlNode没有
不管使用XmlNode的ChildNodes属性还是XmlElement的GetElementsByTagName()方法获取的都是XmlNodeList
那这里就存在获取的XmlNodeList中的XmlNode到底是什么类型的问题
可以根据XmlNode的NodeType属性判断
如若等于XmlNodeType.Element就可以强转为XmlElement从而使用XmlElement的方法
相关文章推荐
- C#中常用的几种读取XML文件的方法
- C#中常用的几种读取XML文件的方法
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
- C#读取Xml文件
- C#-XML文件提取字符串+字符串存为XML文件+创建XML(自定义节点)文件+读取节点内容
- C#中XML文件读取
- C#从XML文件读取连接数据库语句
- 读取和更新xml文件 (asp.net C#)
- c# 创建、读取、添加、修改xml文件
- C#中常用的几种读取XML文件的方法
- c# 读取xml文件 "分析 EntityName 时出错"的解决方案
- C#中常用的几种读取XML文件的方法
- C#笔记 通用文件的读取之二——XML文件的读取与写入
- C# winform 不同的窗体对同一XML文件进行读取
- C# WinForm中如何自定义config文件(XML文件),并且读取和保存它
- c# 读取xml文件 "分析 EntityName 时出错"的解决方案
- C#读取XML文件
- C#读取Xml文件
- C#中创建和读取XML文件
- 使用c#如何读取xml文件