在xml文件中,如何更改格式为 annotation 标记的所有内容:
<manifest>
<project name="something" path="something" revision="some sha"><annotation version="1.2.3" /></project>
</manifest>
为:
<manifest>
<project name="something" path="something" revision="some sha"><annotation name="version" value="1.2.3" /></project>
</manifest>
我无法找出使用xmlstarlet
执行此操作的选项答案 0 :(得分:3)
xmlstarlet edit --omit-decl \
--insert '//manifest/project/annotation' --type 'attr' -n 'name' --value version \
--rename '//manifest/project/annotation/@version' -v 'value' file.xml
输出:
<manifest>
<project name="something" path="something" revision="some sha">
<annotation value="1.2.3" name="version"/>
</project>
</manifest>
答案 1 :(得分:1)
以下xmlstarlet命令应该完成这项工作:
xmlstarlet ed --append //annotation -t attr -n name -v version \
-r //annotation/@version -v value file.xml
属性的顺序不同,但在XML中这并不重要。