Задать вопрос

Работа с XML как с SQL. С помощью чего?

Добрый день. Вопрос, наверное глупый, но все же.


У меня есть база данных SQL. Я легко делаю запросы к таблице, изменяю в ней данные на основе запросов и т.д.

Так вот какие инструменты есть для подобной работы с XML? Ну, например, мне надо пройти по XML документу и в каждой конкретной ветви заменить значения элемента согласно запросу по другому документу. XQuery? XPath? С данными технологиями я знаком очень слабо, подтолкните хоть, куда копать.


Спасибо.
  • Вопрос задан
  • 4893 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
pletinsky
@pletinsky
XQuery это более общий стандарт который включает в себя XPath.
И насколько я понимаю он не умеет делать апдейты иксемеля. Обещают реализовать эту операцию в новой версии стандарта.
Тут написано:
The XML Query Working group is working on a facility to allow XQuery expressions to create and update persistent data.

Вообще в языках программирования и фреймворках есть реализации Xml Query с возможностью апдейта.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
@Piskov
Если .net, то linq to xml — запросы будут по сути ровно такие же, как и в обычном sql.
Ответ написан
Комментировать
@MikhailEdoshin
XSLT. Получает на вход XSLT и XML документ и, возможно, параметры, далее проходит по документу и применяет шаблоны согласно содержимому XSLT. Может подгружать дополнительные XML документы.
Ответ написан
dbmaster
@dbmaster
Недавно попробовал XmlSlurper из Groovy — очень понравилось

groovy.codehaus.org/Reading+XML+using+Groovy%27s+XmlSlurper
Ответ написан
Комментировать
@kontiv
Для работы с базой данных в формате XML есть вот такие инструменты как, например, BaseX.
Предоставляет клиент-серверную технологию (для большинства популярных языков есть клиенты) и имеет свой REST API для работы с данными.
Очень удобен для создания своего API доступа к данным. Языком запросов является XQuery.
Включены средства доступа к данным SQL.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы