解决方案 »
- 求如何在C/S中使用客户端模拟多个连接,连接某个服务器上的webservice
- 大家帮看一下,下面的code是什么意思
- C# panel控件显示问题
- C#中让窗体显示在最前端和关闭的窗口再打开的问题!!!
- 已经找到了可以遍历当前计算机上所有应用程序窗口的办法,可是
- C#开发opengl用CsGL还是用Csopengl还是Tao framework,那个能够紧跟opengl的版本?
- 怎样屏蔽菜单的单击事件?内详.
- 十进制转2进制怎么做?
- 简单问题,望有人指点!
- WPF,DataGrid控件,背景色为什么有空隙
- C#加载一个非常简单的xml文件竟然抛出异常了,为什么?
- WPF,这个TextBlock是怎么设置的?
1、xml的根节点是wlb_waybill_search_response,却没有实体类表示
2、XmlSerializer创建的时候用typeof(WaybillApplySubscriptionInfo),序列化却要求List<...>,连个不匹配。简单的做法就是添加一个实体类:class Test
{
static void Main(string[] args)
{
string xml = ...;
XmlSerializer serializer = new XmlSerializer(typeof(SearchResponse));
SearchResponse searchResponse = (SearchResponse)serializer.Deserialize(new StringReader(xml));
var subInfo= searchResponse.Results;
}
} [Serializable]
[XmlRoot("wlb_waybill_search_response")]
public class SearchResponse
{
[XmlElement("results")]
public List<WaybillApplySubscriptionInfo> Results;
}
SearchResponse searchResponse = (SearchResponse)serializer.Deserialize(new StringReader(xml));
List<WaybillApplySubscriptionInfo> subInfo = searchResponse.Results;for (int k = 0; k < subInfo.Count; k++)
{
List<WaybillBranchAccount> branchAccounts = subInfo[k].BranchAccountCols;
for (int m = 0; m < branchAccounts.Count; m++)
{
Response.Write("<p><p>----------branchAccounts------------<p><p>");
Response.Write("AllocatedQuantity:" + branchAccounts[m].AllocatedQuantity.ToString() + "<hr>");
Response.Write("BranchCode:" + branchAccounts[m].BranchCode + "<hr>");
Response.Write("CpCode:" + branchAccounts[m].CpCode + "<hr>");
Response.Write("Quantity:" + branchAccounts[m].Quantity.ToString() + "<hr>");
Response.Write("SellerId:" + branchAccounts[m].SellerId.ToString() + "<hr>");
//Response.Write("<br>----------ShippAddressCols------------<br>");
List<WaybillAddress> addressList = branchAccounts[m].ShippAddressCols;
for (int n = 0; n < addressList.Count; n++)
{
Response.Write("<p><p>----------ShippAddressCols------------<p><p>");
Response.Write("AddressDetail:" + addressList[n].AddressDetail + "<hr>");
Response.Write("AddressFormat:" + addressList[n].AddressFormat + "<hr>");
Response.Write("Area:" + addressList[n].Area + "<hr>");
Response.Write("AreaCode:" + addressList[n].AreaCode.ToString() + "<hr>");
Response.Write("City:" + addressList[n].City + "<hr>");
Response.Write("CityCode:" + addressList[n].CityCode.ToString() + "<hr>");
Response.Write("DivisionId:" + addressList[n].DivisionId.ToString() + "<hr>");
Response.Write("Province:" + addressList[n].Province + "<hr>");
Response.Write("ProvinceCode:" + addressList[n].ProvinceCode.ToString() + "<hr>");
Response.Write("Town:" + addressList[n].Town + "<hr>");
Response.Write("TownCode:" + addressList[n].TownCode.ToString() + "<hr>");
}
}
}
通过操作xml、每个节点及节点中的属性来给你的实体类复制。
http://blog.csdn.net/duanzi_peng/article/details/24018431