parsing multiple root element XML into text

Chris Angelico rosuav at gmail.com
Fri May 9 05:15:49 EDT 2014


On Fri, May 9, 2014 at 7:13 PM, Stefan Behnel <stefan_ml at behnel.de> wrote:
> Chris Angelico, 09.05.2014 11:02:
>> On Fri, May 9, 2014 at 6:59 PM, Percy Tambunan wrote:
>>> Hai, I would like to parse this multiple root element XML
>>
>> Easy fix might be to wrap it in <root> and </root>, which will give
>> you a new root.
>
> ElementTree's XMLParser() can be use efficiently for this. Something like
> this should work:
>
>     from xml.etree.ElementTree import XMLParser
>
>     parser = XMLParser()
>     parser.feed(b'<root>')
>     parser.feed(real_input_data)
>     parser.feed(b'</root>')
>     root = parser.close()
>
>     for subtree in root:
>         ...

That looks good to me :)

ChrisA



More information about the Python-list mailing list