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 に答える