def parseFile(file): treeBuilder = ElementTree.TreeBuilder(element_factory=SimpleElementTreeVar) xmlTreeBuilder = ElementTree.XMLTreeBuilder(target=treeBuilder) if (not hasattr(file, 'read')): ourFile = open(file) xmlTreeBuilder.feed(ourFile.read()) ourFile.close() else: xmlTreeBuilder.feed(file.read()) return xmlTreeBuilder.close()
def fromstring(self, text): try: treebuilder = self.CustomTreeBuilder() parser = ElementTree.XMLTreeBuilder(target=treebuilder) treebuilder._xmltreebuilder = parser parser.feed(text) self.root = parser.close() return self.root except expat.ExpatError, e: raise exceptions.XmlParseError( "XML parse error on line %d: %s" % (e.lineno, e), e.lineno, str(e))