2010-04-23 1 views
0

Наше государственное правительство открыло свои данные о расписании транспорта. Данные находятся в стандартном формате TransXchange на основе XML.Преобразование большого XML для вставки SQL Server

Проблема в том, что файлы данных огромны. Сам образец файла данных составляет 300 МБ.

Хорошая вещь, большая часть данных избыточна, и я не нуждаюсь в ней для своего приложения. Мне интересно, какие параметры у меня есть для вставки/преобразования только данных, которые мне нужны в SQL Server?

Спасибо.

ответ

2

Чтобы избежать загрузки всего дерева в память, необходим XML-потоковый (основанный на событиях) парсер. Большинство языков имеют несколько основанных на стандарте SAX (Simple API for XML).

+0

Я собираюсь использовать C#, имеет ли поддержка SAX? – mob1lejunkie

+0

mob1lejunkie: Вы не упомянули C# в своем вопросе. Вы спросили: «Какие у меня варианты?». Что заставляет вас думать, что какой-то случайный человек, отвечающий на ваш вопрос, использует C#? Я бы использовал Perl (и не SAX, но потоковый XML-парсер), но тогда я предвзятый. И я знаю Perl. – runrig

+1

Я спросил, какие у меня есть варианты в надежде получить рекомендацию по продукту, которая уже делает то, что мне нужно, а не писать код для этого. – mob1lejunkie