大森林
寻找小麻雀

xml file:
<?xml version="1.0" encoding="gb2312"?>
<DATA000022200612>
    <area>
        <areaid>110000</areaid>
    <item>
        <PK>
            <key>10010001</key>
      <intervaltype>5</intervaltype>
</PK>
    <value>1878.85</value>
    <remark></remark>
</item>
    <item>
        <PK>
            <key>10020001</key>
           <intervaltype>5</intervaltype>
        </PK>
    <value>18550.94</value>
    <remark></remark>
</item>
    <item>
        <PK>
            <key>10020002</key>
      <intervaltype>5</intervaltype>
</PK>
    <value>54130.9</value>
    <remark></remark>
</item>
</area>
    <area>
        <areaid>120000</areaid>
    <item>
        <PK>
            <key>10010001</key>
      <intervaltype>5</intervaltype>
</PK>
    <value>2344.59</value>
    <remark></remark>
</item>
    <item>
        <PK>
            <key>10020001</key>
      <intervaltype>5</intervaltype>
</PK>
    <value>10621.42</value>
    <remark></remark>
</item>
</area>
</DATA000022200612>

读取xml文件,并将数据显示在一个DataGridView 中:


DataTable td = new DataTable();

            td.Columns.Add(new DataColumn("areaid",typeof(string)));
            td.Columns.Add(new DataColumn("key",typeof(string)));
            td.Columns.Add(new DataColumn("value",typeof(string)));


            FileStream fs = new FileStream("D:\\WordNetSearch\\data.xml", FileMode.Open, FileAccess.Read, FileShare.Read);
            XmlDocument xmlDocument = new XmlDocument();
            xmlDocument.Load(fs);

            XmlElement root = xmlDocument.DocumentElement;
            XmlNodeList nodes = root.ChildNodes;
          
           
            for (int i = 0; i < nodes.Count; i++)
            {
                XmlNode area = nodes[i];
                if (null == area) continue;
               
                string areaText = null;
                XmlNode areaid = area.SelectSingleNode("areaid");
                areaText = areaid.InnerText;

                XmlNodeList items = nodes[i].SelectNodes("item");
                if (null == items) continue;

                string key = null;
                string value = null;

                for (int j = 0; j < items.Count; j++)
                {
                    //XmlNode itemNode = item[j];

                    key = items[j].SelectSingleNode("PK/key").InnerText;
                    value = items[j].SelectSingleNode("value").InnerText;

                    DataRow dr = td.NewRow();
                    dr["areaid"] = areaText;
                    dr["key"]   = key;
                    dr["value"] = value;
                    td.Rows.Add(dr);
                }
               
            }
            dataGridView1.DataSource = td;

posted on 2007-05-18 15:16  大森林  阅读(265)  评论(0编辑  收藏  举报