LINUX.ORG.RU

Не получается отпарсить данные с помощью XML::LibXML


0

0

Не пойму, почему XML::LibXML ничего не парсит? [host]$ cat test.pl #!/usr/bin/perl -w

use strict; use XML::LibXML; use Data::Dumper;

my $xml =qq( <a> <b>bb</b> <cc> <d>ddd</d> <e>eee</e> </cc> </a>

);

print $xml;

my $parser = XML::LibXML->new(); my $doc = $parser->parse_string( $xml ); my $root = $doc->getDocumentElement(); my @a = $root->getElementsByTagName( 'a' );

print "parcer: \n" . Dumper $parser; print "doc: \n" . Dumper $doc; print "root: \n" . Dumper $root; print "a: \n" . Dumper @a;

Непосредственно сам вывод скрипта

[host]$ ./test.pl

<a> <b>bb</b> <cc> <d>ddd</d> <e>eee</e> </cc> </a>

parcer: $VAR1 = bless( { 'XML_LIBXML_CALLBACK_STACK' => bless( { '_CALLBACKS' => [] }, 'XML::LibXML::InputCallback' ), 'XML_LIBXML_KEEP_BLANKS' => 1, 'XML_LIBXML_EXT_DTD' => 1, '_State_' => 0 }, 'XML::LibXML' ); doc: $VAR1 = bless( do{\(my $o = 135846048)}, 'XML::LibXML::Document' ); root: $VAR1 = bless( do{\(my $o = 135840048)}, 'XML::LibXML::Element' ); a:

anonymous

может потому, что это неправильный XML? Попробуй впереди поставить <?xml version="1.0" encoding="UTF-8"?>

kpanic ★★
()
Ответ на: комментарий от kpanic

Может, потому, что $root - это уже нода <a>, и внутри нее других таких не содержится?

(капча: "hooely". Нда ;)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.