0

大きすぎてメモリに完全にロードできない XML ファイルを解析しているため、 を使用しxml.etree.ElementTree.iterparseて解析しています。

私が抱えている問題は、イテレータから要素を取得するときに、XML ファイルに存在する一部の情報が ElementTree によって省略されることがあるということです。これは予想される動作ですか?

...
<car>
    <engine>
        <part name="pump"\>
        <part name="ECU"\>
    </engine>
</car>
...

上記の XML スニペットをxml.etree.ElementTree.iterparse反復子で解析しているとします。特定のインスタンスで、反復子はelemXML 要素を指すelement を提供しますcar

次に、が実際の XML データxml.etree.ElementTree.dump(elem)をどの程度うまくキャプチャしているかを確認したところ、次の結果が得られました。elem

<car>
    <engine>
        <part name="pump"/>
        <part/>
    </engine>
<car>

partここで、2 番目の要素の名前が取得されていないことに注意してください。これはなぜ発生し、どうすれば回避できますか?

4

1 に答える 1