ich hab mir hier mal einen xml editor gebastelt. nun hätt ich nur noch die frage, muss ich den auch irgendwie schließen, oder reicht ein del der klasse am ende des scripts völlig aus?
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import xml.etree.ElementTree
class XmlEditor:
def __init__(self, filename):
self.filename = filename
self.tree = xml.etree.ElementTree.parse(self.filename)
def edit_bool(self, parent, child=None, value=None):
if not value: return
root = self.tree.getroot()
parenttoedit = root.find('.//%s' % parent)
if child:
childtoedit = parenttoedit.find('.//%s' % child)
else:
childtoedit = parenttoedit
childtoedit.clear()
xml.etree.ElementTree.SubElement(childtoedit, 'true' if value else 'false')
def edit_string(self, parent, child, value=None):
if not value: return
root = self.tree.getroot()
parenttoedit = root.find('.//%s' % parent)
childtoedit = parenttoedit.find('.//%s' % child)
childtoedit.text = value
def save_file(self, newfilename=None):
if not newfilename: newfilename = self.filename
self.tree.write(newfilename, encoding='UTF-8', xml_declaration="version=1.0")
helgeinterfacexml = XmlEditor('helgeinterface_new.xml')
helgeinterfacexml.edit_bool(parent='ActivatePiInTapeMode', value=True)
helgeinterfacexml.edit_bool(parent='ComfortBlink', child='active', value=True)
helgeinterfacexml.edit_string(parent='ComfortBlink', child='BlinkinTime', value='2600')
helgeinterfacexml.save_file()
del helgeinterfacexml