1
Element
및 ElementTree
클래스의 기능을 xml.etree
에서 확장하고 xml.etree.ElementTree.parse()
과 함께 사용하고 싶습니다.Element 및 ElementTree의 기능 확장
몇 번 시도해 본 후에도 문제를 해결할 수있는 솔루션을 만들었지 만 더 나은 솔루션이 있는지 또는이 솔루션에 숨겨진 위험이 있는지 알고 싶습니다.
FooElementTree.py
import xml.etree
from xml.etree.ElementTree import Element
from xml.etree.ElementTree import ElementTree
class FooElement(Element):
def __repr__(self):
return "<FooElement %s at 0x%x>" % (repr(self.tag), id(self))
class FooElementTree(ElementTree):
pass
xml.etree.ElementTree.Element = FooElement
xml.etree.ElementTree.ElementTree = FooElementTree
from xml.etree.ElementTree import parse
사용법 :
>>> import FooElementTree
>>> e = FooElementTree.parse('xml.cfg')
>>> e
<FooElementTree.FooElementTree object at 0x023AB650>
>>> r = e.getroot()
>>> r
<FooElement 'configuration' at 0x23c5470>