您的位置:首页 > 编程语言 > C#

C#读取Xml文件

2012-02-27 23:49 225 查看
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的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: