使用xmlstartlet更新XML文件



我有以下XML结构

<config>
   <keys>
     <add key="Name" value="myApp" />
     <add key="BuildVersion" value="1" />
     ...
   </keys>
</config>

我想匹配对应于键"BuildVersion"的元素,并将其值更新为"2"。这就是我所使用的

xmlstarlet ed -u "//config/keys/add[@key='BuildVersion']" -v '2' App.xml

但是它导致了以下输出

<add key="BuildVersion" value="1">2</app>

我希望下面的输出

<add key="BuildVersion" value="2" />

/@value添加到XPath表达式中,如下所示:

xmlstarlet ed -u "//config/keys/add[@key='BuildVersion']/@value" --value "2" App.xml

上面打印:

<?xml version="1.0"?>
<config>
  <keys>
    <add key="Name" value="myApp"/>
    <add key="BuildVersion" value="2"/>
  </keys>
</config>

相关内容

  • 没有找到相关文章

最新更新