来自xml的html标签使用libxml

时间:2013-06-17 10:55:15

标签: html xml perl libxml2

我有像这样的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个段落甚至一个段落,一个标题,另一个段落和一个较小的标题。谢谢。

1 个答案:

答案 0 :(得分:0)

join q(), map { $_->toString } $doc->findnodes("//text")->get_node(1)->childNodes