大きな xml ファイルを解析しようとしています。
以下の構造になっています。
< merchandiser >
<header></header>
<product>
<name></name>
<URL>
<info>
</info>
<product>
</product>
</URL>
</product>
............
<product>
<name></name>
<URL>
<info>
</info>
<product>
</product>
</URL>
</product>
</merchandiser>
python-lxml ライブラリの iter.parse() を使用しています。
for event , element in etree.iterparse(xmlfile,tag='product'):
if element.tag=="product" and event == "end":
if element.findall("..")[0].tag=='merchandiser':
print element.xpath('./URL/product/text()')
print element.xpath('./URL/info/text()')
element.clear()
スクリプトはタグ内のテキストを出力しますが、タグ内のテキストの出力に失敗します。
タグ名が同じだからだと思います。
私が間違っていることを教えてください。