因此,我之前使用过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“名字” 因为有多个地方有名字
谢谢!
答案 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
参数,可用于运行查询。