Преобразование операторов XML в SQL INSERT с использованием командной строки

Есть ли способ конвертировать XML в SQL INSERT с помощью командной строки, вот примеры:

<something> <somthingelse>lol</somethingelse> </something> 

было бы

 INSERT INTO `database` (`something`) VALUES (lol) 

Или что-то типа того.

One Solution collect form web for “Преобразование операторов XML в SQL INSERT с использованием командной строки”

С помощью xmllint с использованием libxml версии 20708:

Имя корневого узла «something»: xmllint --xpath "name()" file.xml

Текст "lol": xmllint --xpath "//*/*/text()" file.xml


Скрипт sql.sh:

 #!/bin/bash file="$1" table=$(xmllint --xpath "name()" "$file") value=$(xmllint --xpath "//*/*/text()" "$file") cat << EOF INSERT INTO \`${table}\` VALUES (${value}) EOF 
 $ ./sql.sh file.xml

Вывод:

 INSERT INTO `something` VALUES (lol) 
  • Неудачные зависимости, пытающиеся установить пакет 'libxml2'
  • Как узнать содержимое файла XML с помощью Unix Sed / Awk?
  • как массировать или форматировать html для анализа с помощью xmstarlet?
  • Ошибка синтаксиса Openbox в ~ / .config / openbox / rc.xml
  • Разбор XML-файла XML-файла
  • как сравнить два xml-файла с одинаковыми данными в разных строках?
  • Смутно о том, как преобразовать XML в CSV с помощью xmlstarlet в OS X?
  • изменить строку и удалить тег, используя perl из xml-файла?
  • Обработка текста: конвертировать текст таблицы содержимого в формат закладки djvu?
  • Разделение файлов в Unix с использованием значений в файле
  • Замена всего `&`, но не единственного в XML-сущности `& amp;` с `#` с sed в заданном теге XML
  • Interesting Posts

    Открыть несколько файлов в папках с определенным шаблоном имени

    Разрешения на просмотр контента

    Почему unix не может быть объектно ориентированным или, по крайней мере, организованным

    tar-файлы из другого каталога без их копирования

    Sox останавливается после определенного количества байтов

    Как захватить только stderror в этом сценарии bash?

    Смонтируйте раздел NTFS как / home с помощью fstab

    ZSH, конкатенация передается аргументами в одну строку

    configure error при попытке установить LASH: «configure: error: компилятор C не может создавать исполняемые файлы»

    Включают ли записи в / etc / fstab то, к каким точкам разделов устройств подключается автоматически?

    Изменения в часовом поясе не применяются в CentOS 6

    Добавление максимизации и минимизации кнопок в Gnome 3.8

    Ошибка разрешения при создании резервной копии при установке gitlab omnibus

    Установите Xen 4.6 на Debian jessie

    Как удалить файлы в одной папке, которая старше 60 дней в UNIX?

    Linux и Unix - лучшая ОС в мире.