0

嗨,我正在研究一个 perl 脚本,该脚本将从 XML 中删除一个节点。我使用下面的帖子开发了脚本。

perl - 从 xml 文件中删除节点

但是一旦删除该节点,它就会将父节点留空,并且读取 XML 的应用程序不喜欢它。意思是应用程序不理解带有空格的标签。所以我想用空格删除父节点。

从下面的 XML

<twice>
    <inner>
        <twice>
            <name>John</name>
            <surname>Smith</surname>
        </twice>
   </inner>
</twice>

我的脚本能够删除节点“两次”,但将节点“内部”留有空格

结果:

<twice>
    <inner>

   </inner>
</twice>

但我想删除节点“内部”以及它的父节点没有空格。

预期结果:

<twice>
</twice>

PS:我不是perl专家,所以请忽略我的错误。

4

1 回答 1

0

我知道,LibXML 是正确的方法,但我也喜欢正则表达式 :-)

$s =~ s!<inner>.*?</inner>!!gis;
于 2013-09-18T08:45:02.160 回答