逻辑是这样的 对方给我传XML文件-我解析成 DATATABLE 然后绑定到GRIDVIEW
--------
XML:
<?xml version="1.0"?>
<WAPOA>
<DATA>
<ITEM>
<FIELD NAME="MsgID" VALUE="000000009966FCF0AE58394CA93C406E11E606550700278E748CB521654E9FFF70BAE6B3ABFD00000000EF080000278E748CB521654E9FFF70BAE6B3ABFD00000001773C0000"/>
<FIELD NAME="StoreID" VALUE="0000000038A1BB1005E5101AA1BB08002B2A56C20000454D534D44422E444C4C00000000000000001B55FA20AA6611CD9BC800AA002FC45A0C000000544553544245002F6F3D6C6E746573742F6F753D6C6E746573742F636E3D526563697069656E74732F636E3D6C6E6F616A696E6368616E676A696100"/>
<FIELD NAME="Type" VALUE="IPM.WF.SGSHTWJFW"/>
<FIELD NAME="Subject" VALUE="发文-省公司红头文件-1616测试(会签)"/>
<FIELD NAME="DTRecv" VALUE="3/30/2009 9:45:32 AM"/>
<FIELD NAME="DTMdfy" VALUE="5/18/2009 1:36:38 PM"/>
<FIELD NAME="拟稿人$$" VALUE="于海龙"/>
<FIELD NAME="处理用户列表$$" VALUE="于海龙"/>
<FIELD NAME="文件编号$$" VALUE="诉讼字[20]号"/>
<FIELD NAME="Subject" VALUE=""/>
<FIELD NAME="DTRecv" VALUE=""/>
</ITEM>
<ITEM>
<FIELD NAME="MsgID" VALUE="000000009966FCF0AE58394CA93C406E11E606550700278E748CB521654E9FFF70BAE6B3ABFD00000000EF080000278E748CB521654E9FFF70BAE6B3ABFD00000001773D0000"/>
<FIELD NAME="StoreID" VALUE="0000000038A1BB1005E5101AA1BB08002B2A56C20000454D534D44422E444C4C00000000000000001B55FA20AA6611CD9BC800AA002FC45A0C000000544553544245002F6F3D6C6E746573742F6F753D6C6E746573742F636E3D526563697069656E74732F636E3D6C6E6F616A696E6368616E676A696100"/>
<FIELD NAME="Type" VALUE="IPM.WF.BMWJFW"/>
<FIELD NAME="Subject" VALUE="发文-部门文件-(相关人员传阅)"/>
<FIELD NAME="DTRecv" VALUE="3/30/2009 9:45:40 AM"/>
<FIELD NAME="DTMdfy" VALUE="8/6/2009 2:56:46 PM"/>
<FIELD NAME="拟稿人$$" VALUE="陈堃"/>
<FIELD NAME="处理用户列表$$" VALUE="于海龙"/>
<FIELD NAME="文件编号$$" VALUE="辽移字[2009]203号"/>
<FIELD NAME="Subject" VALUE=""/>
<FIELD NAME="DTRecv" VALUE=""/>
</ITEM>
<ITEM>
<FIELD NAME="MsgID" VALUE="000000009966FCF0AE58394CA93C406E11E606550700278E748CB521654E9FFF70BAE6B3ABFD00000000EF080000278E748CB521654E9FFF70BAE6B3ABFD00000001773E0000"/>
<FIELD NAME="StoreID" VALUE="0000000038A1BB1005E5101AA1BB08002B2A56C20000454D534D44422E444C4C00000000000000001B55FA20AA6611CD9BC800AA002FC45A0C000000544553544245002F6F3D6C6E746573742F6F753D6C6E746573742F636E3D526563697069656E74732F636E3D6C6E6F616A696E6368616E676A696100"/>
<FIELD NAME="Type" VALUE="IPM.WF.SGSHTWJFW"/>
<FIELD NAME="Subject" VALUE="发文-省公司红头文件-55555555555555555555555(部门经理签批)"/>
<FIELD NAME="DTRecv" VALUE="3/30/2009 9:45:46 AM"/>
<FIELD NAME="DTMdfy" VALUE="8/6/2009 1:58:00 PM"/>
<FIELD NAME="拟稿人$$" VALUE="陈堃"/>
<FIELD NAME="处理用户列表$$" VALUE="陈堃"/>
<FIELD NAME="文件编号$$" VALUE="辽移字[2009]304号"/>
<FIELD NAME="Subject" VALUE=""/>
<FIELD NAME="DTRecv" VALUE=""/>
</ITEM>
</DATA>
</WAPOA>
---------------------
绑定方法:
private void BindXML()
{
if (!System.IO.File.Exists(xmlFile))
{
Response.Write("error");
}
DataTable dt = new DataTable();
DataColumn dc = new DataColumn("uid");
dt.Columns.Add(dc);
dc = new DataColumn("MsgID");
dt.Columns.Add(dc);
dc = new DataColumn("StoreID");
dt.Columns.Add(dc);
dc = new DataColumn("Type");
dt.Columns.Add(dc);
dc = new DataColumn("Subject");
dt.Columns.Add(dc);
dc = new DataColumn("DTRecv");
dt.Columns.Add(dc);
dc = new DataColumn("DTMdfy");
dt.Columns.Add(dc);
dc = new DataColumn("拟稿人$$");
dt.Columns.Add(dc);
dc = new DataColumn("处理用户列表$$");
dt.Columns.Add(dc);
dc = new DataColumn("文件编号$$");
dt.Columns.Add(dc); //将xml文件加载成xmlDoc
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFile);
//得到dbGust所有子节点
//XmlNodeList xnl = xmlDoc.SelectSingleNode("DATA").ChildNodes;
XmlNodeList xnl = xmlDoc.SelectSingleNode("WAPOA").ChildNodes[0].ChildNodes;
for (int i = 0; i < xnl.Count; i++)
{
//在每个子节点是遍历 xn 代表的是一个个User
string a1 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[0].Attributes["VALUE"].Value;//报错 找不到对象
string a2 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[1].Attributes["VALUE"].Value;
string a3 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[2].Attributes["VALUE"].Value;
string a4 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[3].Attributes["VALUE"].Value;
string a5 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[4].Attributes["VALUE"].Value;
string a6 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[5].Attributes["VALUE"].Value;
string a7 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[6].Attributes["VALUE"].Value;
string a8 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[7].Attributes["VALUE"].Value;
string a9 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[8].Attributes["VALUE"].Value;
DataRow dr = dt.NewRow();
dr[0] = a1;
dr[1] = a2;
dr[2] = a3;
dr[3] = a4;
dr[4] = a5;
dr[5] = a6;
dr[6] = a7;
dr[7] = a8;
dr[8] = a9;
dt.Rows.Add(dr);
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
----------------------------------
string a1 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[0].Attributes["VALUE"].Value;//报错 找不到对象
代码长了点 但是比较好理解,希望好心的高手帮下忙,在线等!谢谢!
--------
XML:
<?xml version="1.0"?>
<WAPOA>
<DATA>
<ITEM>
<FIELD NAME="MsgID" VALUE="000000009966FCF0AE58394CA93C406E11E606550700278E748CB521654E9FFF70BAE6B3ABFD00000000EF080000278E748CB521654E9FFF70BAE6B3ABFD00000001773C0000"/>
<FIELD NAME="StoreID" VALUE="0000000038A1BB1005E5101AA1BB08002B2A56C20000454D534D44422E444C4C00000000000000001B55FA20AA6611CD9BC800AA002FC45A0C000000544553544245002F6F3D6C6E746573742F6F753D6C6E746573742F636E3D526563697069656E74732F636E3D6C6E6F616A696E6368616E676A696100"/>
<FIELD NAME="Type" VALUE="IPM.WF.SGSHTWJFW"/>
<FIELD NAME="Subject" VALUE="发文-省公司红头文件-1616测试(会签)"/>
<FIELD NAME="DTRecv" VALUE="3/30/2009 9:45:32 AM"/>
<FIELD NAME="DTMdfy" VALUE="5/18/2009 1:36:38 PM"/>
<FIELD NAME="拟稿人$$" VALUE="于海龙"/>
<FIELD NAME="处理用户列表$$" VALUE="于海龙"/>
<FIELD NAME="文件编号$$" VALUE="诉讼字[20]号"/>
<FIELD NAME="Subject" VALUE=""/>
<FIELD NAME="DTRecv" VALUE=""/>
</ITEM>
<ITEM>
<FIELD NAME="MsgID" VALUE="000000009966FCF0AE58394CA93C406E11E606550700278E748CB521654E9FFF70BAE6B3ABFD00000000EF080000278E748CB521654E9FFF70BAE6B3ABFD00000001773D0000"/>
<FIELD NAME="StoreID" VALUE="0000000038A1BB1005E5101AA1BB08002B2A56C20000454D534D44422E444C4C00000000000000001B55FA20AA6611CD9BC800AA002FC45A0C000000544553544245002F6F3D6C6E746573742F6F753D6C6E746573742F636E3D526563697069656E74732F636E3D6C6E6F616A696E6368616E676A696100"/>
<FIELD NAME="Type" VALUE="IPM.WF.BMWJFW"/>
<FIELD NAME="Subject" VALUE="发文-部门文件-(相关人员传阅)"/>
<FIELD NAME="DTRecv" VALUE="3/30/2009 9:45:40 AM"/>
<FIELD NAME="DTMdfy" VALUE="8/6/2009 2:56:46 PM"/>
<FIELD NAME="拟稿人$$" VALUE="陈堃"/>
<FIELD NAME="处理用户列表$$" VALUE="于海龙"/>
<FIELD NAME="文件编号$$" VALUE="辽移字[2009]203号"/>
<FIELD NAME="Subject" VALUE=""/>
<FIELD NAME="DTRecv" VALUE=""/>
</ITEM>
<ITEM>
<FIELD NAME="MsgID" VALUE="000000009966FCF0AE58394CA93C406E11E606550700278E748CB521654E9FFF70BAE6B3ABFD00000000EF080000278E748CB521654E9FFF70BAE6B3ABFD00000001773E0000"/>
<FIELD NAME="StoreID" VALUE="0000000038A1BB1005E5101AA1BB08002B2A56C20000454D534D44422E444C4C00000000000000001B55FA20AA6611CD9BC800AA002FC45A0C000000544553544245002F6F3D6C6E746573742F6F753D6C6E746573742F636E3D526563697069656E74732F636E3D6C6E6F616A696E6368616E676A696100"/>
<FIELD NAME="Type" VALUE="IPM.WF.SGSHTWJFW"/>
<FIELD NAME="Subject" VALUE="发文-省公司红头文件-55555555555555555555555(部门经理签批)"/>
<FIELD NAME="DTRecv" VALUE="3/30/2009 9:45:46 AM"/>
<FIELD NAME="DTMdfy" VALUE="8/6/2009 1:58:00 PM"/>
<FIELD NAME="拟稿人$$" VALUE="陈堃"/>
<FIELD NAME="处理用户列表$$" VALUE="陈堃"/>
<FIELD NAME="文件编号$$" VALUE="辽移字[2009]304号"/>
<FIELD NAME="Subject" VALUE=""/>
<FIELD NAME="DTRecv" VALUE=""/>
</ITEM>
</DATA>
</WAPOA>
---------------------
绑定方法:
private void BindXML()
{
if (!System.IO.File.Exists(xmlFile))
{
Response.Write("error");
}
DataTable dt = new DataTable();
DataColumn dc = new DataColumn("uid");
dt.Columns.Add(dc);
dc = new DataColumn("MsgID");
dt.Columns.Add(dc);
dc = new DataColumn("StoreID");
dt.Columns.Add(dc);
dc = new DataColumn("Type");
dt.Columns.Add(dc);
dc = new DataColumn("Subject");
dt.Columns.Add(dc);
dc = new DataColumn("DTRecv");
dt.Columns.Add(dc);
dc = new DataColumn("DTMdfy");
dt.Columns.Add(dc);
dc = new DataColumn("拟稿人$$");
dt.Columns.Add(dc);
dc = new DataColumn("处理用户列表$$");
dt.Columns.Add(dc);
dc = new DataColumn("文件编号$$");
dt.Columns.Add(dc); //将xml文件加载成xmlDoc
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFile);
//得到dbGust所有子节点
//XmlNodeList xnl = xmlDoc.SelectSingleNode("DATA").ChildNodes;
XmlNodeList xnl = xmlDoc.SelectSingleNode("WAPOA").ChildNodes[0].ChildNodes;
for (int i = 0; i < xnl.Count; i++)
{
//在每个子节点是遍历 xn 代表的是一个个User
string a1 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[0].Attributes["VALUE"].Value;//报错 找不到对象
string a2 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[1].Attributes["VALUE"].Value;
string a3 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[2].Attributes["VALUE"].Value;
string a4 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[3].Attributes["VALUE"].Value;
string a5 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[4].Attributes["VALUE"].Value;
string a6 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[5].Attributes["VALUE"].Value;
string a7 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[6].Attributes["VALUE"].Value;
string a8 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[7].Attributes["VALUE"].Value;
string a9 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[8].Attributes["VALUE"].Value;
DataRow dr = dt.NewRow();
dr[0] = a1;
dr[1] = a2;
dr[2] = a3;
dr[3] = a4;
dr[4] = a5;
dr[5] = a6;
dr[6] = a7;
dr[7] = a8;
dr[8] = a9;
dt.Rows.Add(dr);
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
----------------------------------
string a1 = xmlDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[0].Attributes["VALUE"].Value;//报错 找不到对象
代码长了点 但是比较好理解,希望好心的高手帮下忙,在线等!谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货