Ger*_*rgő 4 xml shell xpath xmlstarlet
<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>
Run Code Online (Sandbox Code Playgroud)
我想<el name="c">0</el>在每个<block>Linux shell脚本中插入一个元素:
<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>
Run Code Online (Sandbox Code Playgroud)
我可以使用XmlStarlet附加元素:
xmlstarlet ed -a '/xml/block/el[@name="b"]' \
--type 'elem' -n 'el' -v 0
Run Code Online (Sandbox Code Playgroud)
<el>没有name属性的元素的XPath表达式是什么?xml ed命令插入属性
吗?/xml/block/el[not(@name)]您不能直接插入具有属性的元素,但由于每个编辑操作都是按顺序执行的,因此您可以插入元素然后添加属性.
xmlstarlet ed -a '/xml/block/el[@name="b"]' \
-t 'elem' -n 'el' -v 0 \
-i '/xml/block/el[not(@name)]' \
-t 'attr' -n 'name' -v 'c'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5768 次 |
| 最近记录: |