2011-08-31 22 views
0

我搜查了cpan和google上的文檔,似乎找不到答案。 使用Perl讀取XML文件。當我做下面的代碼它 抱怨perl tinyXML - 節點不是類型XmlNodePtr

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的::節點的文檔也說:

XML :: TinyXML :: XmlGetChildNode:節點的類型XmlNodePtr位於/usr/local/lib/perl/5.10.1/XML/TinyXML.pm line 485.

`

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

`

回答

0

嘗試在$node本身調用getChildNode。此外,節點索引可能從1開始,而不是0.

my $this_node = $node->getChildNode(1); 
+0

謝謝Michal,但是我嘗試過,結果相同。我放棄了,轉而使用XML :: Simple,並在15分鐘內完成並運行,而整個一天,我都失去了試圖讓TinyXML發揮作用的一天。 – Tim

相關問題