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

murphy
 2010-07-26 03:03
#140061 #140061
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Ich würde sagen, das Beispielprogramm verhält sich mit einer aktuellen Version von LibXML ganz exakt so, wie es sollte und wie man das erwarten würde.

Die Methode getElementsByTagName soll im gesamten Dokumentbaum nach Knoten mit einem bestimmten Tagnamen suchen, der im Beispielcode angegebene Tagname kommt jedoch nirgends in den angegebenen Beispieldaten vor, folglich ist es nur logisch, wenn das Ergebnis eine leere Liste ist.

Um eine bestimmte Struktur im XML-Dokument zu dekonstruieren, was vermutlich der eigentliche Sinn des Beispielcodes ist, wäre die Verwendung von XPath angebracht — dazu könnte man beispielsweise einfach den Methodenaufruf von getElementsByTagName durch findnodes ersetzen.

Im Übrigen wäre noch anzumerken, dass CPAN:XML::LibXML bereits Unterstützung für XPath mitbringt, und das Einbinden des nicht verwendeten Moduls CPAN:XML::XPath im Beispielcode nicht sinnvoll ist.
When C++ is your hammer, every problem looks like your thumb.

View full thread XML::LibXML api break?