从外壳脚本的 xml 文件中提取单个标记



我有一堆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

相关内容

  • 没有找到相关文章

最新更新