如何交换两个兄弟姐妹的位置:使用xmlstarlet

问题描述 投票:0回答:1

如何交换两个兄弟姐妹的位置:

来自:

<article>
    <name>
     <firstname>John</firstname>
     <surname>Pettterson</surname>
    </name>
</article>

至:

<article>
    <name>
      <surname>Pettterson</surname>
     <firstname>John</firstname>
    </name>
</article>

提前致谢。 大富士

element swap siblings xmlstarlet
1个回答
-1
投票

这就是我所做的:

xmlstarlet ed  -L   -i "//article/name/givenname" -t elem -n "surname1" -v "$(xmlstarlet sel -t -v  "//article/name/surname" swapelment.xml)" swapelment.xml
xmlstarlet ed -L -d  "//article/name/surname" swapelment.xml
xmlstarlet ed -L --rename "//article/name/surname1" -v "surname" swapelment.xml
  • 创建一个新的兄弟元素
    <surname1>
    作为第一个兄弟元素,并将元素
    <surname>
    的值复制到它。
  • 删除元素
    <surname>
    .
  • 将创建的元素
    <surname1>
    重命名为
    <surname>
    .
© www.soinside.com 2019 - 2024. All rights reserved.