如何在 linux 中使用 xmlstarlet 从 xml 获取值
How do I fetch the values from the xml using xmlstarlet in linux
XML 文件如下:test.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<metadata>
<entries>
<entry>
<key><![CDATA[bip:DisplayName]]></key>
<value><![CDATA[MY_Test_Free_Quantity_DM]]></value>
</entry>
<entry>
<key><![CDATA[DESCRIPTION]]></key>
<value><![CDATA[undefined]]></value>
</entry>
<entry>
<key><![CDATA[propertyMap]]></key>
<value><![CDATA[1]]></value>
</entry>
<entry>
<key><![CDATA[path]]></key>
<value><![CDATA[%2FCustom%2FOpen+Quantity+Report%2FData+Models%2FMY_Test_Free_Quantity_DM.xdo]]></value>
</entry>
</entries>
</metadata>
需要提取“%2FCustom%2FOpen+Quantity+Report%2FData+Models%2FMY_Test_Free_Quantity_DM.xdo”
$ xmlstarlet sel -t -m "/metadata/entries/entry[key='path']" -v value your.xml
%2FCustom%2FOpen+Quantity+Report%2FData+Models%2FMY_Test_Free_Quantity_DM.xdo
XML 文件如下:test.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<metadata>
<entries>
<entry>
<key><![CDATA[bip:DisplayName]]></key>
<value><![CDATA[MY_Test_Free_Quantity_DM]]></value>
</entry>
<entry>
<key><![CDATA[DESCRIPTION]]></key>
<value><![CDATA[undefined]]></value>
</entry>
<entry>
<key><![CDATA[propertyMap]]></key>
<value><![CDATA[1]]></value>
</entry>
<entry>
<key><![CDATA[path]]></key>
<value><![CDATA[%2FCustom%2FOpen+Quantity+Report%2FData+Models%2FMY_Test_Free_Quantity_DM.xdo]]></value>
</entry>
</entries>
</metadata>
需要提取“%2FCustom%2FOpen+Quantity+Report%2FData+Models%2FMY_Test_Free_Quantity_DM.xdo”
$ xmlstarlet sel -t -m "/metadata/entries/entry[key='path']" -v value your.xml
%2FCustom%2FOpen+Quantity+Report%2FData+Models%2FMY_Test_Free_Quantity_DM.xdo