Сегодня я узнаю, как правильно использовать xmllint. Похоже, что это недостаточно хорошо описано или объяснено. Я планирую использовать файл с одним языковым ресурсом для запуска всей моей системы. У меня есть смесь скриптов bash и php-страниц, которые должны читать из этого языкового файла.Linux Bash XMLLINT с XPATH
В настоящее время я использую следующий формат в моем XML-файл en.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item id="index.php">
<label>LABEL</label>
<value>VALUE</value>
<description>DESCRIPTION</description>
</item>
<item id="config.php">
<label>LABEL</label>
<value>VALUE</value>
<description>DESCRIPTION</description>
</item>
</resources>
Теперь мне нужно начать с линией Баша скрипта, который должен тянуть значение данных из файла XML. Например, я хочу получить значение DESCRIPTION
из пункта index.php
.
Я использовал
xmllint --xpath 'string(//description)' /path/en.xml
для другого макета, который работал, но теперь, когда я меняю расположение моего файла XML, я теряется, как лучше для нацеливания на определенную <item>
, а затем развернуть его дочернему элементу в сценарии bash.
Может кто-нибудь помочь с помощью линии xmllint --xpath
, чтобы получить это значение, пожалуйста?
Это работает. Большое спасибо за ваше время и внимание – RootWannaBe
Привет, в какой версии xmllint вы используете? У меня есть 'xmllint --version xmllint: using версия libxml 20626 скомпилировано с помощью: Threads Tree Output Push Reader Шаблоны Writer SAXv1 FTP HTTP DTDValid HTML Legacy C14N Каталог XPath XPointer XInclude Iconv ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules Debug', который не работает, t имеет опцию ** - xpath ** –
@ReddySK Результаты в моем ответе я получил с помощью 'xmllint: using libxml version 20902', но на самом деле это не сообщает о версии самого xmllint, но версия базовых библиотек (самое главное, libxml). Кажется, у вас есть проблема, описанная здесь: http://stackoverflow.com/q/11975862/1987598, но попытка заставить '--xpath' работать в xmllint не стоит проблем: xmllint - это в основном инструмент для проверки, а не для выражений XPath. Вместо этого используйте библиотеку XPath на языке программирования. –