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;