您好我正在研究一个可以从XML中删除节点的perl脚本。我使用下面的帖子开发了脚本。
perl - remove node from xml file
但是一旦移除了节点,它就会将父节点留空,而读取XML的应用程序并不喜欢它。含义应用程序不理解带空格的标记。所以我想删除父节点以及空格。
来自以下XML
<twice>
<inner>
<twice>
<name>John</name>
<surname>Smith</surname>
</twice>
</inner>
</twice>
我的脚本能够删除节点'两次',但留下节点'inner'的空格
结果:
<twice>
<inner>
</inner>
</twice>
但我想删除节点'inner'以及它的父节点没有空格。
预期结果:
<twice>
</twice>
PS:我不是perl的专家,所以请忽略我的错误。
答案 0 :(得分:0)
我知道,LibXML是正确的方法,但我也喜欢正则表达式: - )
$s =~ s!<inner>.*?</inner>!!gis;