Segfaulting при попытке разобрать с lxml
У меня есть этот простой скрипт Python, который выглядит так:
import sys
from lxml import etree
tree = etree.parse('gdpdefl.xml')
Но это segfaults, поэтому, после некоторого поиска в Google, я подумал, что мой 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 из этого файла в списки?