<分区>
在 bash shell 提示符下,我想运行 xmllint 以从 xml 文件中获取数据。让我们看一个我没有问题的文件:
查看 fruits.xml 文件:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="mykey">grapes</string>
</map>
这是我使用 xmllint 从 fruits.xml 中获取值“grapes”
xmllint --xpath "string(/map/string[@name = 'mykey'])" fruits.xml
我得到以下输出:
$ grapes
很好,我得到了值,但这不是我需要使用的实际 key 。 “mykey”应该是“c1:fruits_id-%1$s”
现在,当我将 fruits.xml 文件中的“mykey”值更改为另一个值时,我无法从 xmllint 获得任何返回值:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="c1:fruits_id-%1$s">grapes</string>
</map>
xmllint --xpath "string(/map/string[@name = 'c1:fruits_id-%1$s'])" fruits.xml
以上命令不返回任何内容。我所做的只是更改 key 名称,现在它不起作用。有人可以帮忙吗?