【发布时间】:2020-03-11 01:08:18
【问题描述】:
我想从 XML 文件中提取 img src 值。
测试输入:
<ROOT>
<ITEM>
<DESCRIPTION><![CDATA[<p align="left" dir="ltr">
<span lang="EN">lorem ipsum</span></p>
<p>
some text</p>
<p>
<img alt="" src="https://example.com/hello.jpg" /></p>
]]></DESCRIPTION>
</ITEM>
</ROOT>
最好的方法是什么?使用 XSLT 或 XML 解析器,例如 xmllint?
目前我正在尝试使用 xmllint:
xmllint --xpath '//ROOT/ITEM/DESCRIPTION/text()' input.xml | egrep -o 'src=".*(\.png|\.jpg)'
...但输出是这样的:
src="https://example.com/hello.jpg
当然,我可以使用 sed 之类的工具删除 src=",但也许有更好、更清洁的解决方案来提取链接?
【问题讨论】:
标签: xslt xml-parsing xmllint