2013-06-17 2 views
0

У меня есть XML, как этотHTML-теги из XML с помощью LibXML

<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
join q(), map { $_->toString } $doc->findnodes("//text")->get_node(1)->childNodes 
Смежные вопросы