title: lxml iterparse mising child nodes
body: <p>I am using lxml iterparse to read huge xml files. For a given mainElement, I check the child elements and process each child. But I notice that, on checking the children within an element, the parser is actually missing some child nodes sometimes. I even printed the length of each element, which should be a constant number for a given element tag, but it is sometimes smaller than it should be. And surprisingly, this happens usually during the 5th block (one block=> mainElement occurance). Is there a reason why the parser should miss the child nodes? Any clues?</p>
  
  <p>Sample code-</p>
  
  <pre><code>from lxml import etree  
  def parseXml(context,attribList,elemList,mainElement):      
     for event, element in context: 
         if element.tag == mainElement and event=='start':
              for child in element:
                 if child.tag in elemList:
                     print len(child) #for a given child,the len should be constant
                     #do things   
         elif event=='end':
           element.clear() 
  </code></pre>
  
  <p>Thanks!</p>