Linux Bash - 从XML文件中取出内容

时间:2012-07-20 18:19:42

标签: linux

因此,我之前使用过XPath从XML表中获取数据并将其打印出来以便

Property1 - Property2 - Property3

就像那样显示。现在,我想在Linux Bash中做同样的事情。我知道如何稍微使用Linux Bash,并且能够将其中的一部分打印出来,但不像我需要它。

以下是XML表格外观的示例

<xml>
<content>
<items>
<item>
<name>I need this information</name>
<item>

<lists>
<list>
<name>I DONT need this information</name>
</list>

    

<hello>
<name> I need this information also</name>
<hello>

    

请注意,我有三个名称实例,所以我不能简单地使用 猫xmlfile | grep“名字” 因为有多个地方有名字

谢谢!

1 个答案:

答案 0 :(得分:3)

使用XMLStarlet以XPath身份执行查询。

xmlstarlet sel -t \
  -m //item/name  -v . \  # print first item name
  -o ' - ' \              # print intermediate dash
  -m //hello/name -v . \  # print second item
  -n                      # print trailing newline

此外,xmllint的一些非常新版本具有--xpath参数,可用于运行查询。