如何使用XMLStarlet在另一个元素之后直接插入元素?

Tod*_*odd 5 xmlstarlet

使用此示例XML:

<rootnode>
  <element-a />
  <element-b />
  <element-d />
  <element-e />
</rootnode>
Run Code Online (Sandbox Code Playgroud)

如何使用XMLStarlet <element-c/>在元素后直接插入元素<element-b/>

npo*_*avs 7

xml ed -i(或--insert)将把它放在节点之前,xml ed -a(或--append)将把它放在之后,所以你可以使用以下任何一个:

xml ed -i /rootnode/element-d -t elem -n element-c -v "" file.xml
xml ed -a /rootnode/element-b -t elem -n element-c -v "" file.xml
Run Code Online (Sandbox Code Playgroud)