0

我有一个这样的 xml

 <text>
        <h1>First title</h1>
        <p>First paragraph</p>
        <p>Second paragraph</p>
 </text>

和一个 perl 脚本

my $file = '../data/text.xml';
my $parser = XML::LibXML->new();
my $doc = $parser->parse_file($file);
my $root= $doc->getDocumentElement;
$t=$doc->findnodes("//text")->get_node(1);
$text=encode_entities($t->findvalue('text'));

问题是当我打印文本时,perl 会忽略这 2 个 html 标签并只返回

《第一题第一段第二段》

那么页面内容不正确。我能做些什么?有没有办法不骑自行车并手动获取每个段落?xml 可以有一个标题和一个段落,20 个段落甚至一个段落,一个标题,另一个段落和一个较小的标题。谢谢你。

4

1 回答 1

0
join q(), map { $_->toString } $doc->findnodes("//text")->get_node(1)->childNodes
于 2013-06-17T11:01:52.713 回答