嗨,我正在写一个perl脚本,它可以从XML中删除一个节点。我使用下面的帖子开发了脚本。
perl - remove node from xml file
但是一旦删除了该节点,它就会将父节点留空,并且读取XML的应用程序不会喜欢它。这意味着应用程序不理解带有空格的标记。所以我也想删除带有空格的父节点。
来自下面的XML
<twice>
<inner>
<twice>
<name>John</name>
<surname>Smith</surname>
</twice>
</inner>
</twice>我的脚本能够删除节点‘两次’,但留下节点‘内部’与空格
结果:
<twice>
<inner>
</inner>
</twice>但我想要删除节点“内部”以及它的父节点,不带空格。
预期结果:
<twice>
</twice>PS:我不是perl专家,所以请忽略我的错误。
发布于 2013-09-18 16:45:02
我知道,LibXML是正确的方式,但我也喜欢正则表达式:-)
$s =~ s!<inner>.*?</inner>!!gis;https://stackoverflow.com/questions/18856742
复制相似问题