<?xml version="1.0" encoding="gb2312"?>
<FeatureCollection>
<FeatureMember>
<RECORD>
<TYPE>A省</TYPE>
<NAME>张三</NAME>
</RECORD>
<RECORD>
<TYPE>A省</TYPE>
<NAME>李四</NAME>
</RECORD>
<RECORD>
<TYPE>B省</TYPE>
<NAME>王五</NAME>
</RECORD>
<RECORD>
<TYPE>A省</TYPE>
<NAME>小张</NAME>
</RECORD>
<RECORD>
<TYPE>C省</TYPE>
<NAME>张三</NAME>
</RECORD>
........
</FeatureMember>
</FeatureCollection>
有这样中类型的xml文件,需要解析统计后得到如下类型:
A省:3个
张三
李四
小张
B省:1个
王五
C省:1个
张三如何做到这种效果,请高手指点!!!!!
<FeatureCollection>
<FeatureMember>
<RECORD>
<TYPE>A省</TYPE>
<NAME>张三</NAME>
</RECORD>
<RECORD>
<TYPE>A省</TYPE>
<NAME>李四</NAME>
</RECORD>
<RECORD>
<TYPE>B省</TYPE>
<NAME>王五</NAME>
</RECORD>
<RECORD>
<TYPE>A省</TYPE>
<NAME>小张</NAME>
</RECORD>
<RECORD>
<TYPE>C省</TYPE>
<NAME>张三</NAME>
</RECORD>
........
</FeatureMember>
</FeatureCollection>
有这样中类型的xml文件,需要解析统计后得到如下类型:
A省:3个
张三
李四
小张
B省:1个
王五
C省:1个
张三如何做到这种效果,请高手指点!!!!!
ds.ReadXml(@"d:\test.xml");
DataTable dt=ds.Tables[1];
string str=string.Empty;
ArrayList list=new ArrayList();
for(int i=0;i<dt.Rows.Count;i++)
{
if(list.Contains(dt.Rows[i]["TYPE"])==false)
{
list.Add(dt.Rows[i]["TYPE"]);
}
}
for(int i=0;i<list.Count;i++)
{
DataRow[] rows=dt.Select("TYPE='"+list[i]+"'","");
str+=list[i]+":";
for(int j=0;j<rows.Length;j++)
{
str+=rows[j]["NAME"]+",";
}
str+="|";
}
txt1.Text=str;
DataSet ds=new DataSet();
ds.ReadXml(@"d:\test.xml");
DataTable dt=ds.Tables[1];
string str=string.Empty;
ArrayList list=new ArrayList();
for(int i=0;i<dt.Rows.Count;i++)
{
if(list.Contains(dt.Rows[i]["TYPE"])==false)
{
list.Add(dt.Rows[i]["TYPE"]);
}
}
for(int i=0;i<list.Count;i++)
{
DataRow[] rows=dt.Select("TYPE='"+list[i]+"'","");
str+=list[i]+":"+rows.Length+":";
for(int j=0;j<rows.Length;j++)
{
str+=rows[j]["NAME"]+",";
}
str+="|";
}
txt1.Text=str;