У меня есть XML-файл (преобразованный из HTML), содержащий такие поля:
<tr>
<td data-title="Date">2018-01-01</td>
<td data-title="Version"><a href="https://some-link">25.1</a></td>
</tr>
<tr>
<td data-title="Date">2018-03-01</td>
<td data-title="Version"><a href="https://some-link">24.1</a></td>
</tr>
Я использовал 'xmllint' для извлечения отдельных значений:
textarea=$(echo "$xml" | xmllint --xpath 'string(//*[@id="content"])' 2>/dev/null )
и несколько значений:
list=$(echo "$xml" | xmllint --xpath 'string(/html/body/div/ul)' 2>/dev/null )
но теперь я хочу извлечь два поля из каждой записи, в формате CSV или что-то подобное.
Самое близкое, что у меня есть, это:
xpath tr/*[@data-title="Date" or @data-title="Version"]/text()
Object is a Node Set :
Set contains 20 nodes:
1 TEXT
content=Apr 9, 2018 6:13 PM UTC
2 TEXT
content=Mar 21, 2018 10:41 PM UTC
3 TEXT
content=Mar 19, 2018 9:22 PM UTC
Можете ли вы показать мне способ добиться этого с помощью лучшего xpath?