У меня большой (~ 50 МБ) файл, содержащий плохо отформатированный XML-файл, описывающий документы и свойства между тегами <item> </item>
, и я хочу извлечь текст из всех документов на английском языке .
Стандартные утилиты синтаксического анализа XML Python (dom, sax, expat) подавляют неправильное форматирование, а более щадящие библиотеки (sgmllib, BeautifulSoup) анализируют весь файл и занимают слишком много времени.
<item>
<title>some title</title>
<author>john doe</author>
<lang>en</lang>
<document> .... </document>
</item>
Кто-нибудь знает способ извлечения текста между <document> </document>
, только если lang=en
без анализа всего документа?
Дополнительная информация: почему он "плохо отформатирован"
Некоторые документы имеют атрибут <dc:link></dc:link>
, который вызывает проблемы с синтаксическими анализаторами. Xml.minidom Python жалуется:
ExpatError: unbound prefix: line 13, column 0