我想從文件(1,5gb文件)動態解析XML,它看起來像:lxml的iterparse,具有相同的標籤名孩子
<product product_id="x" name="x" sku_number="x">
<category>
<primary>x</primary>
<secondary>y</secondary>
</category>
<URL>
<product>URL__I_WANT_TO_PULLOUT</product>
<productImage>x</productImage>
</URL>
<description>
<short>x</short>
<long>x</long>
</description>
</product>
我使用lxml.etree.iterparse
,如:
for event, elem in ET.iterparse(f, events=('end',), tag='product'):
save_product(elem)
我從xml節點獲取所有必需的值。我無法抽出的唯一節點是URL>product
(它只是空的)。我認爲這是由相同的標籤名稱引起的。除了iterparse
之外,還有什麼辦法可以解析xml嗎?
,如果你的樣品更改名稱,它工作呢? –
我還沒有試過,但它是外部數據饋送,所以我不負責更改它 – mdargacz