我有一堆xml文件,我想从中提取单个标签并保存到文本文件中。 即,我该如何转动
清单.xml:
<package>
<description brief="Moving Horizon Estimator for the kite carousel">
dynamicMHE - MHE for the kite carousel, with dynamic model
</description>
<author>rsetrsntrstn</author>
<license>LGPL</license>
<review status="unreviewed" notes=""/>
<url>TODO</url>
<!-- RTT & OCL integration -->
<depend package="rtt_rosnode"/>
<depend package="rtt_std_msgs"/>
<depend package="rtt_rosnode"/>
<!-- RTT & OCL -->
<depend package="rtt"/>
<depend package="ocl"/>
</package>
到
自述文件.txt:
dynamicMHE - MHE for the kite carousel, with dynamic model
以简单的方式从 shell 脚本。 我不想学习任何关于花哨的 xml 解析器的知识;本练习的重点是从代码库中删除所有 XML。
我通过查看其他问题找到了答案:
xmlstarlet sel -t -v //description manifest.xml > readme.txt
注意://后面的内容不是任何类型的注释; xmlstarlet 只是语法非常奇怪。
xmllint 可用于运行 xpath expresson,以从 XML 文件的任何部分提取信息:
xmllint --xpath "string(/package/description)" manifest.xml > readme.txt