2016-06-29 12 views
-1

Error and code picturedSuchen und Ersetzen von Werten in einem XML-

ich einen amatuer Coder bin, aber ich versuche, einen Code bei der Arbeit zu schreiben, das schnell alle Werte in einem XML ersetzen wird. Ich möchte jede Instanz von "linear" und "eckig" durch einen einheitlichen Wert ersetzen. Ich habe sowohl den Code als auch den XML-Code auf meinem Desktop gespeichert und den Code ausgeführt, aber ich komme mit dem oben abgebildeten Fehler. Mein Code ist auch im Screenshot. Vielen Dank im Voraus für Ihre Hilfe!

+1

Kopieren und fügen Sie sowohl den Fehler als auch den Code in die Frage selbst als Text ein, anstatt eine Verknüpfung zu den Screenshots herzustellen. – niemmi

Antwort

0

Ich empfehle auch, den Code und die Fehlermeldung unter Ihrer Frage zu posten, sowie Ihren Code zu ändern, um ein funktionierendes Beispiel zu geben!

Dennoch glaube ich Ihnen die ElementTree.parse Methode geirrt haben für ElementTree.fromstring. Der erste analysiert die XML-Datei mit dem Dateinamen der Funktion, der zweite analysiert die angegebene Zeichenfolge, die XML enthält. Um den Unterschied zu zeigen:

MyFile.xml: 
<body> 
    <linear>10</linear> 
    <angular>0.314159</angular> 
</body> 

-------------------------------- 

from xml.etree import ElementTree 

file_name = r'MyFile.xml' 
et_parse = ElementTree.parse(file_name).get_root() 

with open(file_name, 'r') as fid: 
    file_content = fid.read() 
et_fromstring = ElementTree.fromstring(file_content) 

et_parse == et_fromstring 

Wenn Sie die Dokumentation von xml.etree.ElementTree sorgfältig lesen, werden Sie den Unterschied zu den Methoden in den ersten Zeilen erwähnt finden.