我试图修改下面的XML文件;
<widget id="" android-version="" ios-version="" version="" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:tools="http://schemas.android.com/tools">
...
</widget>特别是试图修改id、android-version、ios-version和version属性的值。
我使用以下CMD来修改id的空字符串值,例如,使用$1从命令行向它传递一个值;
xmlstarlet edit --inplace \
--update "//widget/@id" \
--value $1 config.xml当我移除4个xmlns属性时,这是很好的。我尝试用-N将它们指定为命名空间,但仍然无法修改。我希望能够在不删除xmlns属性的情况下修改上述值。
我在这里错过了什么?谢谢。
发布于 2022-06-07 14:45:42
在指定名称空间时,我似乎犯了错误。采用以下格式作品;
xmlstarlet edit --inplace -N a="http://www.w3.org/ns/widgets" \
--update "//a:widget/@id" \
--value $1 config.xml注意:我使用--inplace在不附加文件的情况下修改文件。
https://stackoverflow.com/questions/72532674
复制相似问题