Forums Neueste Beiträge
 

Typ von "Modulergebnissen" ändern?

22/09/2008 - 17:13 von Stefan Clauß | Report spam
Hallo,

ich hab da mal ein strukturelles Problem.
Ich möchte xml-Datien mittels xml.etree.ElementTree lesen und bearbeiten.

Das angebotene Interface der angelegten Elemente ( "_ElementInterface") ist
schon sehr passend. Ich möchte es jedoch erweitern: -->Ableiten.
Nun legt ja aber der eingesetzte Parser ihm bekannte Elemente vom Typ
"_ElementInterface"
an und nicht von meinem abgeleiteten Typ XY.

Was kann ich tun?

Meine Versuche __new__ oder __init__ von "_ElementInterface" zu
überschreiben wahren
nicht erfolgreich.


Grüße Stefan
 

Lesen sie die antworten

#1 Hartmut Goebel
22/09/2008 - 19:20 | Warnen spam
Stefan Clauß schrieb:

Was kann ich tun?



Einfach als Faktory an TreeBuilder übergeben:

def MyElement(tag, attrib={}, **extra):
attrib = attrib.copy()
attrib.update(extra)
return _MyElementInterface(tag, attrib)

treeBuilder = TreeBuilder(element_factory=MyElement)
parser = ET.XMLTreeBuilder(target=treeBuilder)


Schönen Gruß
H. Goebel

Ähnliche fragen