title: lxml xpath expression for selecting all text under a given child node including his children
body: <p>Provided I have a XML as follows:</p>
  
  <pre><code>&lt;node1&gt;
      &lt;text title='book'&gt;
         &lt;div chapter='0'&gt;
            &lt;div id='theNode'&gt;
                &lt;p xml:id="40"&gt;
                 A House that has:
                     &lt;p xml:id="45"&gt;- a window;&lt;/p&gt;
                     &lt;p xml:id="46"&gt;- a door&lt;/p&gt;
                     &lt;p xml:id="46"&gt;- a door&lt;/p&gt;
                 its a beuatiful house
                 &lt;/p&gt;
            &lt;/div&gt;
         &lt;/div&gt;
      &lt;/text&gt;
  &lt;/node1&gt;
  </code></pre>
  
  <p>I would like to locate text title and get all the text from the first p tag appearing inside the text title book node</p>
  
  <p>so far I know:</p>
  
  <pre><code>from lxml import etree
  XML_tree = etree.fromstring(XML_content,parser=parser)
  text = XML_tree.xpath('//text[@title="book"]/div/div/p/text()') 
  </code></pre>
  
  <p>gets: "A house that has is a beautiful house"</p>
  
  <p>But I would like also all the text of all the possible children and great children of the first <p> appearing under </p>
  
  <p>basically; look for  then look for the first <P> and give me all the text under that p tag whatever the nesting.</p>
  
  <p>pseudo code:</p>
  
  <pre><code>text = XML_tree.xpath('//text[@title="book"]/... any number of nodes.../p/ ....all text under p') 
  </code></pre>
  
  <p>Thanks.</p>