XML-файл как данные запроса для SQL с ColdFusion - PullRequest
0 голосов
/ 06 февраля 2011

Я сейчас занимаюсь разработкой веб-приложения, в котором пользователь взаимодействует с программным обеспечением для настольных компьютеров, которое экспортирует файлы в формате XML.

Мне было любопытно, есть ли способ взять данные из файла XML и вставить эти данные в базу данных mySQL с помощью ColdFusion?

Ответы [ 2 ]

3 голосов
/ 06 февраля 2011

Если вы работаете с XML-документами, которые при синтаксическом анализе помещаются в память, ответ @ Sergii - правильный путь. С другой стороны, XML, являющийся многословным как таковой, и ColdFusion, использующий анализатор XML DOM, могут легко привести к ошибкам Out of Memory.

В этой ситуации, учитывая MySQL и ColdFusion, я вижу два альтернативных пути. Один из них - экспорт данных из настольного приложения в формате CSV, если это возможно. Затем используйте MySQL LOAD DATA INFILE , который вы можете вызвать из ColdFusion для импорта данных. Это, наверное, самая быстрая производительность.

Если вы не можете изменить формат экспорта настольного приложения, рассмотрите вариант использования Java StAX parser . См. Мой ответ на другой вопрос для примера того, как сделать это с ColdFusion . Это имеет преимущество, заключающееся в том, что в любой момент времени только часть XML-документа помещается в память, но работать с ним несколько сложнее, чем с анализатором DOM. Таким образом, вы не получите ошибок OOM.

Обратите внимание, что в Java доступен также третий тип синтаксического анализатора - SAX - такого же качества, что и синтаксический анализатор StAX, который не загружает весь документ в память. Тем не менее, это более сложный подход для работы с IMO, поэтому рекомендация StAX.

3 голосов
/ 06 февраля 2011

Конечно, ColdFusion предоставляет мощные инструменты для обработки XML.

Обычно вам нужно проанализировать файл XML в объект документа XML с помощью XmlParse и выполнить поиск по нему с помощью языка XPath с XmlSearch . Полученные данные вы можете легко использовать для вставки в базу данных или любых других манипуляций.

Обратите внимание, что есть более полезные функции XML , например, вас может заинтересовать проверка XML перед его анализом.

Если вам нужна помощь в определенных ситуациях - просьба расширить свой вопрос или задать другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...