我有像这样的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个段落甚至一个段落,一个标题,另一个段落和一个较小的标题。谢谢。
答案 0 :(得分:0)
join q(), map { $_->toString } $doc->findnodes("//text")->get_node(1)->childNodes