这是我的XML文件
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.abc.def" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>JoinTMA</name>
</widget>
我想更新version =&#34; 1.0.0&#34;的值到版本=&#34; 2.0.0&#34;
我尝试在macOS上使用以下命令
xml ed -N x="http://www.w3.org/ns/widgets" -u "/widget[@version='1.0.0']/@version" -v "2.0.0" fileName
但它没有更新版本号
答案 0 :(得分:2)
请注意,您的XML具有默认命名空间:
xmlns="http://www.w3.org/ns/widgets"
因此,widget
和name
元素隐含在该命名空间中。您已将前缀x
声明映射到默认命名空间URI,因此您只需使用该前缀在XPath中引用widget
:
xml ed -N x="http://www.w3.org/ns/widgets" -u "/x:widget[@version='1.0.0']/@version" -v "2.0.0" fileName
^use the prefix