DataSet 读取 Xml 文件

本教程介绍如何使用VS2008进行XML文件的解析与展示。通过创建XML文件并利用C#代码读取,将数据展现在TreeView控件上。适合初学者学习。

本文适合初学者,测试平台是vs2008。

首先在工程中添加一个xml文件,文件名称“XMLType.xml” 内容如下:

<?xml version="1.0" encoding="utf-8" ?>

<VarList>
  <VarType Name="状态1" >
    <VarName>状态1_1</VarName>
    <VarName>状态1_2</VarName>
    <VarName>状态1_3</VarName>
  </VarType>
  <VarType Name="状态2">
    <VarName>状态2_1</VarName>
    <VarName>状态2_2</VarName>
    <VarName>状态2_3</VarName>
    <VarName>状态2_4</VarName>
  </VarType>
  <VarType Name="状态3">
    <VarName>状态3_1</VarName>
    <VarName>状态3_2</VarName>
    <VarName>状态3_3</VarName>
    <VarName>状态3_4</VarName>
    <VarName>状态3_5</VarName>
  </VarType>
</VarList>
在winForm中天加一个treeView控件,用来显示读取的结果(注意要把XMLType.xml文件copy到工程的debug目录下)。c#代码如下:

        private void ReadXMLType() 
        {
            using(DataSet ds=new DataSet())
            {
                ds.ReadXml(@"XMLType.xml");
                int tt = ds.Tables.Count;
                string t1=ds.Tables[1].TableName;
                 if (ds.Tables.Contains("VarType")) 
                {
                    int rowCount=ds.Tables["VarType"].Rows.Count;
                    for (int i = 0; i < rowCount; i++) 
                    {
                        string ss = ds.Tables["VarType"].Rows[i][1].ToString();

                        treeView1.Nodes.Add(ss);
                        DataRow[] daRows=ds.Tables["VarName"].Select("VarType_Id='" + i + "'");
                        for (int k = 0; k < daRows.Length; k++) 
                        {
                            string pp = daRows[k][0].ToString();
                            treeView1.Nodes[i].Nodes.Add(pp);
                        }
                    }       
                }
            }
        }

针对上面的xml文件,dataset.ReadXML函数执行后会在内存中生成下面的两个datatable:

VarType_Id

Name

0

状态1

1

状态2

2

状态3

表名:VarType

VarName_Text

VarType_Id

状态1_1

0

状态1_2

0

状态1_3

0

状态2_1

1

.

.

.

.

.

.

状态3_3

 2

 状态3_4

 2

 状态3_5

 2

表名:VarName

 



运行结果如下图:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值