Thread XML::LibXML - toString: Ersetzen von childNodes
(1 answers)
Opened by AcidOverflow at 2006-01-26 14:42
Hi zusammen,
Ich habe zwischen meinen eigentlichen Programmen und LibXML eine Zwischenschicht, damit sich der Parser leicht austauschen kann. Mit der Methode setvalue will ich alle Childs eines Knotens (also auch TextNode-Childs) löschen. Danach füge ich einen neuen TextNode an. Problem: Leider liefert mir nun LibXML bei toString nur das richtige Ergebnis wenn ich den entsprechenden Knoten suche (findnodes) und dann mit toString ausgebe. Wenn ich mir das komplette XML ausgebe bekomme ich weiterhin die alten Werte. Danke schonmal :) Code: (dl
)
use XML::LibXML 1.58; Input XML: Code: (dl
)
1 my $xc = XML::LibXML->new; Die defekte Methode: Code: (dl
)
1 sub setvalue { Aufruf der Methode: Code: (dl
)
$myXmlObject->setvalue('//xID', '123'); Das enthält unser XML Ding jetzt: Code: (dl
)
1 @{$self->{_element}->findnodes($path)}[0]->toString eq '<xID>123</xID>'; <!--EDIT|AcidOverflow|1138279466--> |