Люди,
Пожалуйста, каков хороший способ написания действительно больших XML-документов (до 500 МБ) в C # .NET 3.5? У меня был небольшой поиск вокруг, и я не могу найти ничего, что решает этот конкретный вопрос.
Моя предыдущая тема ( Каков наилучший способ анализа (большого) XML в коде C #? ), посвященный чтению XML-документов одинаковой величины ... После этого мне нужно подумать о том, как написать обновленные функции (http://www.opengeospatial.org/standards/sfa) к документу "update.xml".
Мои идеи: Очевидно, что один большой DOM отсутствует, учитывая максимальный размер создаваемого документа. Я использую XSD.EXE для генерации связующих классов из схемы ... которая прекрасно работает с классом XmlSerializer, но я думаю, что он создает DOM "под капотом". Это правильно?. Я не могу хранить все функции (до 50 000 из них) в памяти одновременно. Мне нужно прочитать функцию из базы данных, сериализовать ее и записать в файл. Поэтому я думаю, что я должен использовать XmlSerializer, чтобы написать «доклет» для каждой отдельной функции в файл. Я понятия не имею (пока), возможно ли это / возможно.
Что вы думаете?
Справочная информация: Я портирую старый клиентский плагин VB6 MapInfo на C #. Существует существующая J2EE-служба обновлений (на самом деле просто веб-приложение), с которой эта программа (помимо прочего) должна работать. Я не могу изменить сервер; за исключением случаев, когда это необходимо; особенно это включает в себя изменение других клиентов. Сервер принимает XML-документ со схемой, которая не определяет какие-либо пространства имен ... то есть: существует только пространство имен по умолчанию, и все в нем.
Мой опыт: Я в значительной степени новичок в C # и .NET. Я программирую около 10 лет на разных языках, включая Java, VB, C и немного C ++.
Ура всем. Кит.
PS: сейчас время обеда, так что я буду просиживаться около получаса.