【发布时间】:2010-10-26 16:48:45
【问题描述】:
伙计们,
请问,在 C# .NET 3.5 中编写非常大的 XML 文档(最多 500 MB)的好方法是什么?我进行了一些搜索,似乎找不到任何可以解决这个特定问题的东西。
我之前的帖子 (What is the best way to parse (big) XML in C# Code?) 涵盖了读取类似大小的 Xml 文档...解决了这个问题后,我需要考虑如何将更新的功能 (http://www.opengeospatial.org/standards/sfa) 写入“update.xml”文档。
我的想法: 考虑到要生成的文档的最大大小,显然一个大 DOM 已经出来了。我正在使用 XSD.EXE 从架构中生成绑定类......它与 XmlSerializer 类很好地配合使用,但我认为它在“幕后”构建了一个 DOM。它是否正确?。我无法一次将所有功能(最多 50,000 个)保存在内存中。我需要从数据库中读取一个特征,对其进行序列化,然后将其写入文件。所以我想我应该使用 XmlSerializer 为文件的每个单独功能编写一个“doclet”。我不知道(还)这是否可能/可行。
你怎么看?
背景:我正在将一个旧的 VB6 MapInfo“客户端插件”移植到 C#。有一个现有的 J2EE “更新服务”(实际上只是一个 Web 应用程序),该程序(以及其他程序)必须使用它。我无法更改服务器;除非绝对必要;特别是其中涉及更改其他客户端。服务器接受一个 XML 文档,其架构不指定任何命名空间...即:只有默认命名空间,一切都在其中。
我的经验:我几乎是 C# 和 .NET 新手。我已经用各种语言编程了大约 10 年,包括 Java、VB、C 和一些 C++。
大家干杯。基思。
PS:现在是晚餐时间,所以我会离开大约半小时。
【问题讨论】: