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()
示例#2
0
 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))