私は新しいXML-Twigです...パラタグを分割したい....
XML ファイル:
<xml>
<p class="indent">text <i>text<i> incluce <div>text</div> ateas</p>
<p class="text">text text incluce <div>text</div> <b>ateas<b></p>
<p class="text">text <p>text</p> incluce <div>text</div> ateas</p>
</xml>
ここで、Para タグを分割します。どうすれば分割でき、インラインパラタグとdivタグなしでパラタグを割り当てることができます...
次のように出力する必要があります。
<xml>
<p class="indent">text <i>text</i> incluce</p>
<div>text</div>
<p class="indent">ateas</p>
<p class="text">text text incluce</p>
<div>text</div>
<p class="text"><b>ateas</b></p>
<p class="text">text</p>
<p>text</p>
<p class="text">incluce</p>
<div>text</div>
<p class="text">ateas</p>
</xml>
これどうやって割るんだろう……。
脚本:
#!/usr/bin/perl
use warnings;
use strict;
use XML::Twig;
open(my $output , '>', "output.xml") || die "can't open the Output $!\n";
my $xml = XML::Twig->new( twig_handlers => { p => \&split_tag } );
$xml->parsefile("sample.xml");
$xml->print($output);
sub split_tag {
my ($twig, $p) = @_;
$_->wrap_in('p', $p->atts) for $p->children('#TEXT');
$p->erase;
}
しかし、抽出出力を取得できません..どうすればこれを行うことができますか?