我的代码看起来像
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
文件?
答案 0 :(得分:2)
您可以将zip文件读入变量,然后使用
root = etree.fromstring(xmlstr)