Thread XML::LibXML api break? (4 answers)
Opened by rumpi46 at 2010-07-25 22:42

rumpi46
 2010-07-25 22:42
#140060 #140060
User since
2010-07-25
4 Artikel
BenutzerIn
[default_avatar]
Hi,

Habe eine Applikation welche nach einem Server Update Probleme macht.

Vermute das Perl Modul LibXML ist das Problem, auf dem alten
Servr hat es die Version: 0.13 auf dem neuen ist es aktuell.

Es scheint die Funktion "getElementsByTagName" zu sein, welche keine
gültige Referenz mehr rausgibt.

Hier das Minimal Beispiel, es läuft auf dem alten Server problemlos,
auf dem neuen garnicht mehr:

Aufruf:
=======
Code: (dl )
1
2
3
4
5
6
7
8
[root@alterserver tmp]# perl test.pl
->0815<-
[root@alterserver tmp]#

...

root@neuerserver:/tmp# perl test.pl
Can't call method "getAttribute" on an undefined value at test.pl line 9.


Perl-Script
===========
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl
use XML::LibXML;
use XML::XPath;

$parser = new XML::LibXML;
my $doc = $parser->parse_file("/tmp/test.xml");
my $root = $doc->getDocumentElement;
my @node = $root->getElementsByTagName('TEST/VERSION/BLAH');
$Version = uc($node[0]->getAttribute('VERSION'));
print "->$Version<-\n";


XML-Test-Datei
==============
Code: (dl )
1
2
3
4
5
6
7
8
<?xml version="1.0"?>
<XMLFILE>
<TEST>
<VERSION>
<BLAH DATE="1.1.2010" VERSION="0815"/>
</VERSION>
</TEST>
</XMLFILE>



Evtl. hat jemand einen Tip wie die betreffenden code Teile schmerzfrei
an das neuere Modul angepasst werden könnten?


mod-edit pq: code- und perl-tags hinzugefügt
Last edited: 2010-07-26 00:40:55 +0200 (CEST)

View full thread XML::LibXML api break?