次のような単純な python スクリプトがあります。
import sys
from lxml import etree
tree = etree.parse('gdpdefl.xml')
しかし、それはセグメンテーション違反なので、グーグルで調べた後、xmlドキュメントが壊れている可能性があると考えたので、これを試しました:
import sys
from lxml import etree
parser = etree.HTMLParser()
tree = etree.parse('gdpdefl.xml', parser)
これもセグメンテーション違反。解析しようとしている xml ドキュメントのサンプルを次に示します。
<?xml version="1.0" encoding="utf-8"?> <Root xmlns:wb="http://www.worldbank.org"> <data>
<record>
<field name="Country or Area" key="ARB">Arab World</field>
<field name="Item" key="NY.GDP.DEFL.KD.ZG">Inflation, GDP deflator (annual %)</field>
<field name="Year">1960</field>
<field name="Value" />
</record>
<record>
<field name="Country or Area" key="ARB">Arab World</field>
<field name="Item" key="NY.GDP.DEFL.KD.ZG">Inflation, GDP deflator (annual %)</field>
<field name="Year">1961</field>
<field name="Value" />
</record>
<record>
<field name="Country or Area" key="ZWE">Zimbabwe</field>
<field name="Item" key="NY.GDP.DEFL.KD.ZG">Inflation, GDP deflator (annual %)</field>
<field name="Year">2011</field>
<field name="Value">21.1562931758805</field>
</record>
</data>
</Root>
ここで xml の形式が正しくない場合、Country、Item、Year、および Values のすべての文字列をこのファイルから取り出してリストに入れる最善の方法は何でしょうか?