关于集合的反序列化,对应的类如何设计 本帖最后由 lindping 于 2009-07-05 17:50:04 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考:http://blog.sina.com.cn/s/blog_44e90a13010009zr.htmlhttp://topic.csdn.net/t/20050906/13/4252525.htmlhttp://blog.csdn.net/venus0314/archive/2005/08/16/455690.aspx 这个要序列化得自己写些代码实现,比较麻烦,而且效率可能也不高直接用DataTable读取吧 DataTable dt = new DataTable(); dt.Columns.Add("field1", typeof(string)); dt.Columns.Add("field2", typeof(string)); dt.ReadXml("c:\\xxx.xml");读取之后,有多少个Item,就有多少行 把XML的内容改一下的话,可以反序列化为List<Item><ArrayOfItem> <Item> <field1>xx </field1> <field2>yy </field2> </Item> ... </ArrayOfItem> 修改可以读取出来之后把<root>和</root>替换掉就可以了,然后用下面的代码:XmlTextReader xmlTextReader = new XmlTextReader("c:\\test.xml");XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<Item>));List<Item> listOfItem = xmlSerializer.Deserialize(xmlTextReader) as List<Item>;public class Item { public string field1 = string.Empty; public string field2 = string.Empty; } 一定要把根节点名称改为ArrayOfItem吗? 就是这个让我很不爽,我查过msdn,似乎这个名字规则可以修改,但是msdn又没有具体例子,说的不清不楚。 需要相同的程序集,并且定义的类必须具备相同的签名。SYSTEM.A 序列化之后,无法反序列化为 Microsoft.A。 用 <XmlElement(ElementName:="root")> 试试? asp.net webconfig文件配置错误怎么解决? 关于IIS的“目前访问网站的用户过多。” 求指导:迅雷下载显示文件名为页面名 大虾们帮帮忙啊!!!! 自定义控件问题,请帮帮我 菜鸟:一段小代码调不出来了,大家帮帮忙~ 高分求救高手解答~~~~~~~~~ 高手进来帮帮忙哦. 请教:哪里有.net分层开发的实例详解啊? 微软真牛,这是如何实现的?! 急!!!!一道sql题目 高手们!可以在上传时弹出的窗口中显示出服务器上的某个指定的文件夹中的文件吗?
http://blog.sina.com.cn/s/blog_44e90a13010009zr.html
http://topic.csdn.net/t/20050906/13/4252525.html
http://blog.csdn.net/venus0314/archive/2005/08/16/455690.aspx
dt.Columns.Add("field2", typeof(string)); dt.ReadXml("c:\\xxx.xml");读取之后,有多少个Item,就有多少行
<ArrayOfItem>
<Item>
<field1>xx </field1>
<field2>yy </field2>
</Item>
...
</ArrayOfItem>
修改可以读取出来之后把<root>和</root>替换掉就可以了,然后用下面的代码:
XmlTextReader xmlTextReader = new XmlTextReader("c:\\test.xml");
XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<Item>));
List<Item> listOfItem = xmlSerializer.Deserialize(xmlTextReader) as List<Item>;
public class Item
{
public string field1 = string.Empty;
public string field2 = string.Empty;
}
一定要把根节点名称改为ArrayOfItem吗? 就是这个让我很不爽,我查过msdn,似乎这个名字规则可以修改,但是msdn又没有具体例子,说的不清不楚。