perl tinyXML - узел не относится к типу XmlNodePtr - PullRequest
0 голосов
/ 31 августа 2011

Я искал документы на cpan и google, кажется, не могу найти ответ.Я использую Perl для чтения в файле XML.Когда я делаю следующий код, он жалуется, что

XML :: TinyXML :: XmlGetChildNode: узел не имеет типа XmlNodePtr в /usr/local/lib/perl/5.10.1/XML/TinyXML.pm строка 485.

Что мне нужно сделать с моей переменной, чтобы сделать ее XmlNodePtr и правильно использовать ее для вызова getChildNode ()?

`

my $xml = XML::TinyXML->new();
$xml->loadFile("myfile");

my $node = $xml->getRootNode(1);
my $val = $node->value("context");
print "root Node value: $val\n";    prints "root Node value: context"
my $clen = $node->countChildren();
print "total children $clen\n";     prints "total children 115"

my $this_node = $xml->getChildNode($node, 0);  <----error

`

Я также попробовал то, что кажется правильным решением (ниже) из документа XML :: TinyXML :: Node, в котором также сказано:

XML :: TinyXML :: XmlGetChildNode: узел не относится к типуXmlNodePtr в /usr/local/lib/perl/5.10.1/XML/TinyXML.pm строка 485.

`

my $ptr = XML::TinyXML::Node->new($node);
my $this_node = $xml->getChildNode($ptr, 0); <---- error

`

1 Ответ

0 голосов
/ 01 сентября 2011

Попробуйте позвонить getChildNode на $node сам. Кроме того, индексы узлов, вероятно, начинаются с 1, а не с 0.

my $this_node = $node->getChildNode(1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...