xmllint выбирает только первый элемент
Я хотел бы извлечь текст каждого <id>
элемент с xmllint
в текстовый файл.
<rss>
<channel>
<item>
<id>111</id>
<description>text 1</description>
</item>
<item>
<id>222</id>
<description>text 2</description>
</item>
<item>
<id>333</id>
<description>text 3</description>
</item>
</channel>
</rss>
Каждый элемент должен находиться на отдельной строке в текстовом файле, например так:
111
222
333
Я уже застрял в выборе всех элементов. Почему-то мой xmllint
Команда возвращает только первый элемент.
xmllint test.xml --xpath "string(//id)"
Я пробовал так много вариантов этого --xpath
заявление, но не могу понять это.
(Я не знаю, если это актуально, но я использую xmllint
на OS X)
1 ответ
Решение
xmllint --shell test.xml <<< echo 'cat //id/text()'
> out.txt