源 XML
<xml>
<block>
<el name="a">92346</el>
<el name="b">lorem</el>
</block>
<block>
<el name="a">89753</el>
<el name="b">ipsum</el>
</block>
</xml>
目的
我想使用 Linux shell 脚本<el name="c">0</el>
在其中插入一个元素:<block>
<xml>
<block>
<el name="a">92346</el>
<el name="b">lorem</el>
<el name="c">0</el>
</block>
<block>
<el name="a">89753</el>
<el name="b">ipsum</el>
<el name="c">0</el>
</block>
</xml>
我可以使用 XmlStarlet 附加元素:
xmlstarlet ed -a '/xml/block/el[@name="b"]' \
--type 'elem' -n 'el' -v 0
问题
- 选择每个
<el>
没有name
属性的元素的 XPath 表达式是什么? - 我可以使用单个
xml ed
命令附加元素并插入属性吗?