DataSet读取指定节点xml数据集

先给出xml文件样例  此时我们想通过DataSet读取xml文件中的<three>节点的数据集,这时我们怎么做?

<?xml version="1.0" encoding="gb2312" ?>
<Config>
<one>1</one>
<two>3</two>
<three>
<four ID="1" Name="1"/>
<four ID="2" Name="2"/>
<four ID="3" Name="3"/>
<three>
</Config>

先看DataSet.ReadXml(XmlReader reader)方法。此时我们只知道要传递一个xmlReader,其实还可以传递XmlNodeReader 。

不难理解:public class XmlNodeReader : XmlReader, IXmlNamespaceResolver  是xmlReader的子类,这样就得出我们读取节点的数据集方法!

XmlDocument xd = new XmlDocument();
xd.Load(file);
XmlNodeList xnl
= xd.GetElementsByTagName("three");
if (xnl.Count > 0)
{
XmlNode xn
= xnl.Item(0);
XmlNodeReader xnr
=new XmlNodeReader(xn);
DataSet dataSet
= new DataSet();
dataSet.ReadXml(xnr);
}

这样即将xml节点数据添加到DataSet数据集中!

posted @ 2011-06-23 16:14  真有意思  阅读(903)  评论(1编辑  收藏  举报