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:李四

posted @ 2012-06-13 15:52  DoTop-DoIT  阅读(11215)  评论(0编辑  收藏  举报