如何使用 shell 脚本从 xml 文件中提取值?
How to extract values from an xml file using shell script?
我有这个 xml 文件。
<body>
<part1>
<para1>abc</para1>
<para2>def</para2>
<ver>1234</ver>
</part1>
</body>
我需要存储 ver
给出的值,即 1234
在一个变量中。
不同的选项:
- 使用
xmlstarlet
:
ver=$(xmlstarlet sel -t -m //ver -v . test.xml)
- 使用
xmllint
(另请参阅 Native shell command set to extract node value from XML:
ver=$(xmllint --xpath "//ver/text()" test.xml)
- 使用
gawk
:
ver=$(gawk -F "[><]" '/<ver>/{ print }' test.xml)
我有这个 xml 文件。
<body>
<part1>
<para1>abc</para1>
<para2>def</para2>
<ver>1234</ver>
</part1>
</body>
我需要存储 ver
给出的值,即 1234
在一个变量中。
不同的选项:
- 使用
xmlstarlet
:
ver=$(xmlstarlet sel -t -m //ver -v . test.xml)
- 使用
xmllint
(另请参阅 Native shell command set to extract node value from XML:
ver=$(xmllint --xpath "//ver/text()" test.xml)
- 使用
gawk
:
ver=$(gawk -F "[><]" '/<ver>/{ print }' test.xml)