Hatred's Log Place

DON'T PANIC!

Mar 16, 2011 - 1 minute read - Comments - programming

Консоль, скрипты, XML и XPath

Иногда в скриптах нужно мало-мало добраться до внутрянки XML файлов – к тегам или свойствам тегов. Для сих целей бывает удобно использовать XPath . Вопрос: а как это делать-то из скриптов?

На помощь приходит утилитка xmllint из состава libxml2. Начиная с версии 2.7.7 или 2.7.8 там появилась опция --xpath которая задаёт выражение для выборки. В более ранних версиях (2.7.6, к примеру) этой опции нет, но есть (в последних тоже) возможность вызова “консоли” и интерактивного разбора XML.

В общем два варианта:

xmllint --xpath '//File/@Name' test.xml

и

echo 'cat //File/@Name' | xmllint --shell test.xml

Остальное - фантазия.