C#操作XML之——读取XML节点
1.使用XmlNode读取节点
XmlNode属性和方法详见msdn。
以例子说明XmlNode读取节点。
例
=========XML文档========
<?xml version="1.0">
<联系人列表>
<联系人>
<姓名>张三</姓名>
<ID>001</ID>
<公司>A公司</公司>
<电话>12345678</电话>
<地址>
<街道>观海路123号</街道>
<城市>烟台</城市>
<省份>山东</省份>
<ZIP>264000</ZIP>
</地址>
</联系人>
<联系人>
<姓名>李四</姓名>
<ID>002</ID>
<公司>B公司</公司>
<电话>12348888</电话>
<地址>
<街道>中关村88号</街道>
<城市>北京</城市>
<省份>北京</省份>
<ZIP>100801</ZIP>
</地址>
</联系人>
</联系人列表>
=========XML文档结束========
代码
//使用XmlDocument读取XML
XmlDocument xdoc=new XmlDocument();
//相对路径
xdoc.Load(@"..\books.xml");
//第一个节点
XmlNode xnode=xdoc.DocumentElement.FirstChild;
//节点名(联系人)
xnode.Name;
//节点类型(Element)
xnode.NodeType;
//属性名(id)
xnode.Attribute[0].Name;
//属性值(001)
xnode.Attribute[0].Value;
2.使用XmlNodeList读取节点
1)
xnlist=xdoc.SelectNodes("/联系人列表/联系人");
返回结果:<联系人><姓名>张三</姓名><ID>001</ID><公司>A公司</公司><电话>12345678</电话><地址>
<街道>观海路123号</街道><城市>烟台</城市><省份>山东</省份><ZIP>264000</ZIP></地址> </联系人>
<联系人><姓名>李四</姓名><ID>002</ID><公司>B公司</公司><电话>12348888</电话><地址><街道>中关村88号</街道>
<城市>北京</城市><省份>北京</省份><ZIP>100801</ZIP></地址>
</联系人>
2)
xnlist=xdoc.SelectSingleNode("联系人").ChildNodes;
返回结果同上
3)
xnlist=xdoc.SelectNodes("/联系人列表/联系人/姓名/text()");
返回结果:#text:张三
#text:李四