инструмент командной строки для извлечения однострочного xpath - PullRequest
0 голосов
/ 01 ноября 2019
...
<div class="article_header">
...
<a href="abc" title="PDF">XXX</a>
...
</div>
...

Учитывая приведенный выше XML, я хотел бы просто напечатать "abc". Я мог бы использовать lxml в Python для этого. Но это включает в себя создание программы на Python. Мне бы хотелось, чтобы что-то более похожее на один лайнер (точно так же, как на awk один лайнер прост в обработке файла TSV, а не на python) для извлечения краткой информации, подобной этой.

Существует ли инструмент, который может это сделать? Может кто-нибудь показать мне, какой самый простой способ сделать это?

1 Ответ

2 голосов
/ 01 ноября 2019

Вы можете использовать xmlstarlet . Это инструмент командной строки linux для запроса файлов XML.
Для вашего примера, используйте

xmlstarlet sel -t -v "//div[@class='article_header']/a/@href" input.xml

Вывод:

abc

...