xmlstarlet删除带范围的节点

时间:2018-02-21 10:25:21

标签: xml range xmlstarlet

我想知道如何使用以下命令删除带范围的节点。

单节点删除工作正常:

xmlstarlet ed -L -d '//job/input/audio_selector[2]' profile.xml

如果我想删除带范围的节点,如何实现此目的。

示例从范围2到20删除节点audio_selector:

1 个答案:

答案 0 :(得分:0)

如果您尝试根据位置删除audio_selector,请尝试:

xmlstarlet ed -L -d '//job/input/audio_selector[position() >= 2 and 20 >= position()]' profile.xml

如果您尝试根据值删除audio_selector,请尝试:

xmlstarlet ed -L -d '//job/input/audio_selector[number() >= 2 and 20 >= number()]' profile.xml