首页 新闻 会员 周边

关于XML序列化

0
[待解决问题]

我用xml存储的是数据 如

<Root>

<Person id="1" name="aa"></Person>
<Person id="2" name="bb"></Person>
<Person id="3" name="cc"></Person>
<Person id="4" name="dd"></Person>
</Root>

我想要把<Person id="1" name="aa"></Person>
<Person id="2" name="bb"></Person>序列化成对象  或者我要修改xml中的一个 如id="3"的能用反序列化么?

梦在前方的主页 梦在前方 | 初学一级 | 园豆:164
提问于:2014-03-22 22:06
< >
分享
所有回答(1)
0

我是主攻C#的,不知道你用什么语言,说说我的看法。

我觉得你应该分清楚两个问题(我也只知道这两个问题),一个是XML序列化,一个是自定义配置节。虽有不同,但有区别。

一种是类Class固定,然后序列化数据到XML文件,然后用的时候又可以反序列化成类对象。这种XML的模式无法精确指定,至少我是这么认为的。处理大数据没太大问题。

一种是XML文件固定,然后写类来映射XML,这个类加上若干Attribute,然后可以直接把XML文件映射成类对象。这种XML格式是固定的。当然这种工作量稍大且复杂。这种对于大数据的处理有无障碍,我还不清楚,从直觉上感觉大数据肯定有问题。

据说还有一种是XML固定,然后为XML写xsd文件,然后可以快速读取,而且支持大数据,但不知如何快速读写,以前搜索过,但没找到有力的代码。

空明流光 | 园豆:106 (初学一级) | 2014-03-23 12:25

我的class是固定的。xml中存储的数据会多也会少,而且会修改某一个元素的值。请问我是序列化所有的xml后在查询是不是很耗内存啊? 那我是不是只能用linq to xml 来查询出我想要的结果

支持(0) 反对(0) 梦在前方 | 园豆:164 (初学一级) | 2014-03-23 12:30

 我也是主攻C#的。我还是个菜鸟呢!

支持(0) 反对(0) 梦在前方 | 园豆:164 (初学一级) | 2014-03-23 12:32

@梦在前方: 使用XmlSerializer来序列化和反序列化,很简单的。

参考:http://www.cnblogs.com/yukaizhao/archive/2011/07/22/xml-serialization.html

支持(0) 反对(0) 空明流光 | 园豆:106 (初学一级) | 2014-03-23 12:35

@沧海一杰: 比如我的XML数据是这样的:

<Root>

  

<Root>

<Person id="1" name="aa"></Person>
<Person id="2" name="bb"></Person>
<Person id="3" name="cc"></Person>
<Person id="4" name="dd"></Person>

</Root>

我只想得到 

<Person id="1" name="aa"></Person>

<Person id="2" name="bb"></Person>

我该怎么办?是先序列化所有的在查询呢?还是直接用linq to xml 查询。也就是能不能只序列化我想要的数据。

支持(0) 反对(0) 梦在前方 | 园豆:164 (初学一级) | 2014-03-23 12:39

@梦在前方: 你拿到的是一个xml文件不完整的块,所以不属于xml序列化的问题,你需要有针对性的写代码拿到这样的数据,如:自已写代码拼接。

支持(0) 反对(0) 空明流光 | 园豆:106 (初学一级) | 2014-03-23 12:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册