Мне нужно разобрать XML файл 1Gb со структурой, такой как ниже, и извлечь текст в тегах "Автор" и "Контент":
<Database>
    <BlogPost>
        <Date>MM/DD/YY</Date>
        <Author>Last Name, Name</Author>
        <Content>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas dictum dictum vehicula.</Content>
    </BlogPost>
    <BlogPost>
        <Date>MM/DD/YY</Date>
        <Author>Last Name, Name</Author>
        <Content>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas dictum dictum vehicula.</Content>
    </BlogPost>
    [...]
    <BlogPost>
        <Date>MM/DD/YY</Date>
        <Author>Last Name, Name</Author>
        <Content>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas dictum dictum vehicula.</Content>
    </BlogPost>
</Database>
До сих пор я пробовал две вещи: i) чтение всего файла и переход через него с помощью .find(xmltag) и ii) анализ XML файла с помощью lxml и iterparse(). Первый вариант у меня есть, чтобы работать, но он очень медленный. Второй вариант, который мне не удалось получить с земли.
Вот часть того, что у меня есть:
for event, element in etree.iterparse(path_to_file, tag="BlogPost"):
    if element.tag == "BlogPost":
        print element.text
    else:
        print 'Finished'
Результатом этого является только пустое пространство без текста.
Я должен делать что-то неправильно, но я не могу этого понять. Кроме того, если это было недостаточно очевидно, я довольно новичок в python, и это первый раз, когда я использую lxml. Пожалуйста, помогите!