在ADO.NET2.0中增强了与XML文件的结合,DataSet中的数据可以从XML读取数据流或进行XML文档创建。使用ReadXml方法读取 XML 流或文档的内容并将数据加载到DataSet中。DataSet使用ReadXml读取数据的时候,同时也会将XML文件的结果读取到DataSet数据集中。DataSet使用ReadXml读取数据的方式, 实现代码如下所示。
DataSet ds= new DataSet();
ds.ReadXml(xml文件名);
XML文件代码如下所示:
<?xml version="1.0" standalone="yes"?>
<个人信息>
<xs:schema id="个人信息" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="个人信息" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="个人信息资料">
<xs:complexType>
<xs:sequence>
<xs:element name="姓名" msdata:Caption="列属性" type="xs:string" minOccurs="0" />
<xs:element name="性别" msdata:Caption="列属性" type="xs:string" minOccurs="0" />
<xs:element name="年龄" msdata:Caption="列属性" type="xs:string" minOccurs="0" />
<xs:element name="专业" msdata:Caption="列属性" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<个人信息资料>
<姓名>张三</姓名>
<性别>男</性别>
<年龄>20</年龄>
<专业>计算机</专业>
</个人信息资料>
<个人信息资料>
<姓名>王非</姓名>
<性别>女</性别>
<年龄>21</年龄>
<专业>文学</专业>
</个人信息资料>
<个人信息资料>
<姓名>李四</姓名>
<性别>男</性别>
<年龄>25</年龄>
<专业>语文</专业>
</个人信息资料>
<个人信息资料>
<姓名>李飞</姓名>
<性别>女</性别>
<年龄>23</年龄>
<专业>数学</专业>
</个人信息资料>
<个人信息资料>
<姓名>王梦</姓名>
<性别>女</性别>
<年龄>20</年龄>
<专业>化学</专业>
</个人信息资料>
</个人信息>
程序代码:
//找到存放xml文件的路径
FileStream stream = new FileStream("c:\\个人信息.xml", FileMode.Open);
//声明xml变量
XmlDataDocument doc = new XmlDataDocument();
//将xml读取到dataset中
doc.DataSet.ReadXml(new StreamReader(stream));
//将数据绑定到GridView1
if (doc.DataSet.Tables.Count != 0 && doc.DataSet.Tables[0].Rows.Count != 0)
{
GridView1.DataSource = doc.DataSet.Tables[0];
GridView1.DataBind();
}
stream.Close();