xml - 使用 perl 将字符串 xml 插入到节点

标签 xml perl

我在变量 $myXML 中有以下 xml 作为字符串,需要将其插入到 root->grouping

<mydata seq="ee">
    <subdata name="bla" value="bla" />
</mydata>

上面的xml需要插入root->grouping

<root>
  <grouping>    
  </grouping>
</root>

我目前正在使用 XML::Twig,如果你能帮助我使用它,那是最理想的

编辑: 我正在处理驻留在文件中的复杂 结构。我需要一种方法将 xml 加载到 perl 中并将我的 xml 字符串作为节点插入。同样在我的例子中, 中已经有一些节点。

最佳答案

我是这样做的:我将从 $myXML 中的 XML 创建一个元素,然后将其添加为 grouping 的最后一个子元素:

#!/usr/bin/perl

use strict;
use warnings;

use XML::Twig;

my $myXML='<mydata seq="ee"><subdata name="bla" value="bla" /></mydata>';

my $t= XML::Twig->new( twig_handlers => { grouping => sub { grouping( $myXML, @_); }, })
                ->parsefile( "so_insert.xml");

$t->print;
exit;

sub grouping
  { my( $xml, $t, $grouping)= @_;
    my $new_elt= XML::Twig::Elt->parse( $xml);
    $new_elt->paste( last_child => $grouping);
  }

关于xml - 使用 perl 将字符串 xml 插入到节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6471954/

相关文章:

android - 两个 LinearLayouts 中相同大小的按钮

php - 将描述写入数据库 - UTF8 - 转义?

regex - Perl 在另一个字符串中间添加字符串

c# - 使用 XML 作为存储和 Google Drive

XML 架构验证 : Cannot find the declaration of element

c# - Xamarin - 二进制 XML 文件行 #1 : Error inflating class <unknown>

regex - 无需库即可从 PNG 获取图像宽度和高度

perl - 如何使用 Perl 的 Net::IMAP::Simple 转发电子邮件

windows - 我如何确保使用 Perl 的 Imager::Screenshot 截取特定窗口的屏幕截图?

perl - 我可以在堆栈中上下移动调试器上下文吗?