using lxml and iterparse() to parse a big (+- 1Gb) XML file

for event, element in etree.iterparse(path_to_file, tag=”BlogPost”): for child in element: print(child.tag, child.text) element.clear() the final clear will stop you from using too much memory. [update:] to get “everything between … as a string” i guess you want one of: for event, element in etree.iterparse(path_to_file, tag=”BlogPost”): print(etree.tostring(element)) element.clear() or for event, element in etree.iterparse(path_to_file, tag=”BlogPost”): print(”.join([etree.tostring(child) … Read more