C#中可以用XmlDocument类操作Xml文件
例如要读取如下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的方法
原文地址:http://blog.csdn.net/wangboxian/article/details/27346653