XML :: LibXML Ersetzelementwert

7

Ich möchte einen "VAL1" -Wert eines Elements in der XML-Datei

ersetzen

Aus irgendeinem Grund funktioniert es nicht für mich:

%Vor%

Der Fehler ist get ist "Kann Objekt Methode nicht finden" setValue "über Paket" XML :: LibXML :: Element ... "

    
Greg Dan 07.12.2011, 07:16
quelle

2 Antworten

16

Woher hast du setValue ? Kein Objekt XML :: LibXML hat eine solche Methode.

Außerdem hat ein Element keinen Wert, Sie können es also definitiv nicht setzen.

" VAL1 " ist der Wert des untergeordneten Knotens des Elements, ein Textknoten .

%Vor%

Leider ist das nicht völlig sicher. Was ist, wenn das Element mehrere untergeordnete Textknoten hat? Was ist, wenn es überhaupt keine hat?

Der sicherere Weg besteht darin, das Element zu entfernen, alle seine untergeordneten Elemente zu löschen, die Textknoten sind (was einfach durch Entfernen aller untergeordneten Knoten getan werden kann) und einen neuen Textknoten mit dem gewünschten Wert hinzuzufügen.

%Vor%     
ikegami 07.12.2011 08:06
quelle
7

Es gibt keine Methode setValue im Knoten oder Element Klassen finden Sie in der Dokumentation eine Liste der verfügbaren Methoden. Sie können untergeordnete Elemente des Elements entfernen und einen neuen Textknoten wie folgt anfügen:

%Vor%     
bvr 07.12.2011 07:46
quelle

Tags und Links