title: Python/LXML - Getting "grandchildren" from etree
body: <p>Here is a sample of the XML tree I am traversing:</p>
  
  <pre><code>&lt;entry dataset="Swiss-Prot" created="1993-07-01+01:00" modified="2013-04-03+01:00" version="144"&gt;
    &lt;accession&gt;P31750&lt;/accession&gt;
    &lt;accession&gt;Q62274&lt;/accession&gt;
    &lt;accession&gt;Q6GSA6&lt;/accession&gt;
    &lt;name&gt;AKT1_MOUSE&lt;/name&gt;
    &lt;protein&gt;
      &lt;recommendedName&gt;
        &lt;fullName&gt;RAC-alpha serine/threonine-protein kinase&lt;/fullName&gt;
        &lt;ecNumber&gt;2.7.11.1&lt;/ecNumber&gt;
      &lt;/recommendedName&gt;
      &lt;alternativeName&gt;
        &lt;fullName&gt;AKT1 kinase&lt;/fullName&gt;
      &lt;/alternativeName&gt;&lt;alternativeName&gt;
        &lt;fullName&gt;Protein kinase B&lt;/fullName&gt;
       ..........
  </code></pre>
  
  <p>I am trying to get to <code>recommendedName</code>, and here is the current <code>Python</code> code I am using to reach it:</p>
  
  <pre><code>protein = e.find("{http://uniprot.org/uniprot}protein")
  r_names = []
  for child in protein.find("recommendedName"):
       for subchild in child.find("fullName"):
            r_names.append(subchild.text)
  </code></pre>
  
  <p><code>e</code> in this context represent from <code>&lt;entry&gt;</code> to <code>&lt;/entry&gt;</code>. When I try to run this code, I get the following error from the Python interpreter:</p>
  
  <pre><code>for child in protein.find("recommendedName"):
    TypeError: 'NoneType' object is not iterable
  </code></pre>
  
  <p>So it is telling me that <code>child</code> here is not an iterable object. I dont really get that, because <code>protein</code> is definitely iterable, so if it <code>finds</code> something it should be iterable. At any rate, how would I use the <code>lxml</code> API to reach the grandchild nodes <code>recommendedName</code> and <code>alternativeName</code>?</p>