我在cpan和google上搜索了文档,似乎找不到答案。我正在使用perl读入一个XML文件。当我执行以下代码时,它会报错
XmlGetChildNode: node在/usr/local/lib/perl/5.10.1/XML/TinyXML.pm第485行不是XmlNodePtr类型。
我必须对我的变量做什么才能使它成为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文档中似乎是正确的解决方案(如下所示),该文档还说:
XmlGetChildNode: node在/usr/local/lib/perl/5.10.1/XML/TinyXML.pm第485行不是XmlNodePtr类型。
`
my $ptr = XML::TinyXML::Node->new($node);
my $this_node = $xml->getChildNode($ptr, 0); <---- error`
发布于 2011-09-01 16:27:27
尝试在$node本身上调用getChildNode。另外,节点索引可能从1开始,而不是0。
my $this_node = $node->getChildNode(1);https://stackoverflow.com/questions/7259225
复制相似问题