4

使用XML::Twig,有没有办法获取节点的整个 HTML?我不想要节点的文本,而是带有标签的整个 HTML 和所有内容。

输入 XML

<content> <p>blah blah <b> bla bla </b> </p>
<p> line 2 <i> test </i? </p>
</content>

代码

my $twig = new XML::Twig(
    TwigRoots    => {'content' => 1},
    TwigHandlers => $twig_handlers
);
my $twig_handlers = {'count/p' => \&count_ps};

sub count_ps {
    my ($twig, $test) = @_;
    $Data .= $test->text();
}

$data应该向我展示整个 HTML。

4

1 回答 1

5

使用xml_string方法

my $data;
XML::Twig->new(
    twig_handlers => {
        content => sub {
            my ($twig, $elt) = @_;
            $data = $elt->xml_string;
            $twig->purge;
        }
    }
)->parse('    <content> <p>blah blah <b> bla bla </b> </p>
    <p> line 2 <i> test </i> </p>
    </content>
')->purge;
于 2010-08-26T14:37:06.633 回答