Ändern einer XML mit ElementTree
<grandParent>
<parent>
<child>Sam/Astronaut</child>
</parent>
</grandParent>
Möchte ich ändern die oben genannten XML-Daten durch hinzufügen von einem anderen Kind-tag in übergeordneten Tags. Ich bin sowas..
tree = ET.parse("test.xml")
a=ET.Element('parent')
b=ET.SubElement(a,"child")
b.text="Jay/Doctor"
tree.write("test.xml")
Ist dies der richtige Weg eine änderung der xml-Datei? Eine bessere Möglichkeit? oder was sollte ich sonst noch aufpassen im obigen code?
- Haben Sie führen, dass code? Was waren die Ergebnisse?
- Wenn ich diesen code ausführen ich weiss jetzt nicht, finden Sie in der XML immer verändert. Ich dachte, ich habe es geändert, früher, und ich habe die Ergebnisse, die erforderlich sind, dachte aber nicht seinen richtigen Weg, daher gepostet.
- Wenn Sie Fragen, Fragen ALSO, ist es gut, alle relevanten Informationen, inklusive der erwarteten und der beobachteten Ergebnisse von was auch immer code, den Sie veröffentlichen. Ansonsten, gute Frage.
- In Ordnung, captain! Wird im Hinterkopf behalten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihren code erstellt eine ganz neue Struktur und fügt Jay zu. Anschließen müssen Sie Jay zu den bestehenden Baum, nicht eine neue.
Versuchen Sie dies:
Wenn Sie wollen Suche nach einem bestimmten Kind, Sie könnten dies tun:
Bemerken
a.findall()
(ähnlicha.find()
, gibt aber alle benannten Elemente).xml.etree
hat sehr begrenzt Suchkriterien. Sie sollten erwägen, mitlxml.etree
und seine.xpath()
Methode.