首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用perl从XML中删除标记及其父标记

使用perl从XML中删除标记及其父标记
EN

Stack Overflow用户
提问于 2013-09-18 02:00:03
回答 1查看 377关注 0票数 0

嗨,我正在写一个perl脚本,它可以从XML中删除一个节点。我使用下面的帖子开发了脚本。

perl - remove node from xml file

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

来自下面的XML

代码语言:javascript
复制
<twice>
    <inner>
        <twice>
            <name>John</name>
            <surname>Smith</surname>
        </twice>
   </inner>
</twice>

我的脚本能够删除节点‘两次’,但留下节点‘内部’与空格

结果:

代码语言:javascript
复制
<twice>
    <inner>

   </inner>
</twice>

但我想要删除节点“内部”以及它的父节点,不带空格。

预期结果:

代码语言:javascript
复制
<twice>
</twice>

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

EN

回答 1

Stack Overflow用户

发布于 2013-09-18 16:45:02

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

代码语言:javascript
复制
$s =~ s!<inner>.*?</inner>!!gis;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18856742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档