title: access elements and attribs DIRECTLY using lxml etree
body: <p>Given the following xml structure:</p>
  
  <pre><code>&lt;root&gt;
      &lt;a&gt;
          &lt;from name="abc"&gt;
              &lt;b&gt;xxx&lt;/b&gt;
              &lt;c&gt;yyy&lt;/c&gt;
          &lt;/from&gt;
          &lt;to name="def"&gt;
              &lt;b&gt;blah blah&lt;/b&gt;
              &lt;c&gt;another blah blah&lt;/c&gt;
          &lt;/to&gt;
      &lt;/a&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>How can I access directly the value of "from.b" of each "a" without loading first "from" (with find()) of each "a"?</p>
  
  <p>As you can see there are exactly the same elements under "from" and "to". So the method findall() would not work as I have to differentiate where the value of "b" is coming from.</p>
  
  <p>I would like to get the method of direct access because if I have to load each child element (there is a lot) my code would be quite verbose. And in addition in my case performance counts and I have a lot of XML docs to parse! So I have to find the fastest method to go through the document (and store the data into a DB)</p>
  
  <p>Within each "a" element there is exactly 1 "from" element and within each "from" element there is exactly 1 "b" element.</p>
  
  <p>I have no problem to do this with lxml objectify, but I want to use etree because first I have to parse the XML document with etree because I have to validate first the xml schema against an XSD doc and I do not want to reparse the whole document again. </p>