我想从文件(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