как использовать xmllint для получения значения из XML

2

У меня есть следующий файл XML

<?xml version="1.0" encoding="UTF-8" ?>
<!-- Component configuration file -->
<Component>
   <Name>install_env</Name>
   <HelpString>install_env Com</HelpString>
   <Version>1.10.3</Version>
                <Properties>

как получить значение тега Name - install_env

с помощью инструмента - xmllint

Яэль
источник

Ответы:

1

С вашим тестовым файлом:

<?xml version="1.0" encoding="UTF-8" ?>
<!-- Component configuration file -->
<Component>
   <Name>install_env</Name>
   <HelpString>install_env Com</HelpString>
   <Version>1.10.3</Version>
</Component>

Я использую аргумент --xpath, чтобы получить значение тега name:

user$ test=$(xmllint --xpath "//Component/Name/text()" testfile) 
user$ echo $test
install_env

--xpath подразумевает --noout, который не позволяет xmllint выводить что-либо. Перенаправить вывод в переменную или файл.

Кевин Лемэр
источник