 <p><code>strip_tags()</code> does not return anything. It strips off the tags in-place.</p> <p>The <a href="http://lxml.de/api/lxml.etree-module.html#strip_tags" rel="nofollow">documentation</a> says: "<em>Note that this will not delete the element (or ElementTree root element) that you passed even if it matches. It will only treat its descendants.</em>".</p> <p>Demo code:</p> <pre><code>from lxml import etree XML = """ &lt;root&gt; &lt;entry-details&gt;ABC&lt;/entry-details&gt; &lt;/root&gt;""" root = etree.fromstring(XML) ed = root.xpath("//entry-details")[0] print ed print etree.strip_tags(ed, "entry-details") # Has no effect print etree.tostring(root) print etree.strip_tags(root, "entry-details") print etree.tostring(root) </code></pre> <p>Output:</p> <pre><code>&lt;Element entry-details at 0x2123b98&gt; &lt;root&gt; &lt;entry-details&gt;ABC&lt;/entry-details&gt; &lt;/root&gt; &lt;root&gt; ABC &lt;/root&gt; </code></pre>