问题背景:
系统用XML存储数据用webservice调,涉及到数据结构升级,例如
<ModelList>
<model>
<Id>A</Id>
<Name>B</Name>
</model>
<model>
<Id>B</Id>
<Name>D</Name>
</model>
</ModelList>
当然 实际的层次结构比这复杂很多,升级就是实体里的字段变更,多了或者少了。对于增加的字段都给默认值,这些实体都在系统里对应了相对应的类,也都有相对应的操作方法。问题描述:
一次可能要动的类似XML文件有数百个,每个文件 少则几百K,多则数十M,个人感觉没法用foreach去做,会慢死去,求高效率解决此问题的思路或者代码。
系统用XML存储数据用webservice调,涉及到数据结构升级,例如
<ModelList>
<model>
<Id>A</Id>
<Name>B</Name>
</model>
<model>
<Id>B</Id>
<Name>D</Name>
</model>
</ModelList>
当然 实际的层次结构比这复杂很多,升级就是实体里的字段变更,多了或者少了。对于增加的字段都给默认值,这些实体都在系统里对应了相对应的类,也都有相对应的操作方法。问题描述:
一次可能要动的类似XML文件有数百个,每个文件 少则几百K,多则数十M,个人感觉没法用foreach去做,会慢死去,求高效率解决此问题的思路或者代码。
针对二楼大哥说的,每次调用的时候再去验证,就慢了,因为这个访问比较频繁,是一套工作流系统;
对于三楼的大哥,这些XML文件不是配置文件,不对 ,也有配置,但是配置文件都不大,绝大多数的是记录文件,保存的是正在跑或者已经跑完了的记录,不能直接用新版本的去覆盖
当然 也许是我没听懂你的意思,绝大部分的XML文件存储的是针对某个流程的流程记录,需要给记录实体List里的实体增加某些字段,每个实体都加,朋友建议我批量替换,找一个不常用的字段,比如:
<Desc></Desc>
替换为
<新增的数据字段1></新增的数据字段1>
<新增的数据字段2></新增的数据字段2>
<新增的数据字段3></新增的数据字段3>
<Desc></Desc>
我在考虑可行性,也征求其他思路~~请各位指教
还是这样说吧
其他都不考虑,就单纯的考虑这个:
一个数十兆的XML文件,里面是成千上万个结构完全实体(先不考虑多层的情况,就考虑到第一层,因为比如有某些第三层节点下有第四层,有的没有)
成千上万个结构完全相同的实体构成的这个XML,我要给他们每个实体都加上一行<IsSpecificObject>False</IsSpecificObject>
有没有什么好办法,只能循环取出每一个实体,然后把这一行加进去,然后下一个,然后下一个,如此反复么?感觉这样会崩掉,,,,有没有更好或者更高效的办法?