1

この Gzip 圧縮された XML ファイルがあります: http://cdon.com/xml_files/cdon_games_SE.xml.gz

lxml http://lxml.de/parsing.htmlによると、lxmlは gzip 圧縮された XML ファイルを解析できます。ファイル (.gz)」です。

このコード:

from lxml import etree
tree = urllib.urlopen('http://cdon.com/xml_files/cdon_games_SE.xml.gz')
parser = etree.XMLParser(recover=True)
tree = etree.parse(tree, parser)
tree = tree.xpath(//product)

エラーが発生します:

tree = tree.xpath(//product)
  File "lxml.etree.pyx", line 2038, in lxml.etree._ElementTree.xpath (src/lxml\lxml.etree.c:47529)
  File "lxml.etree.pyx", line 1709, in lxml.etree._ElementTree._assertHasRoot (src/lxml\lxml.etree.c:44508)
AssertionError: ElementTree not initialized, missing root

なにが問題ですか?lxmlgzip 圧縮された XML ファイルを解析できませんか? ファイルをxml(gzipなし)でローカルサーバー上のファイルとして保存すると、機能します。

4

0 に答える 0