0

我的代码看起来像

def read_zip_file():
    import zipfile
    zf = zipfile.ZipFile(os.path.expanduser('~/Downloads/tmp/me.zip'))
    for filename in [ 'myfile.xml' ]:
        print filename
        try :
            data = get_proposal_data_map(zf.read(filename))
            print data
        except:
            logging.error('error - ' + str(sys.exc_info()))

这会将 xml 作为常规文件吐出。现在我有一个现有的代码,它给定一个路径将 XML 解析为

try:
    tree = etree.parse(path)
    root = tree.getroot()
    for child in root:
              # do things with XML

问题

我怎样才能parse成为zipped XML (myfile.xml.zip)常规XML文件?

4

1 回答 1

2

您可以将 zip 文件读入一个变量,然后使用

root = etree.fromstring(xmlstr)
于 2012-07-26T19:34:26.533 回答