python lxml добавляет элемент после другого элемента

У меня есть следующая разметка HTML

<div id="contents">
    <div id="content_nav">
        something goes here
    </div>
    <p>
        some contents
    </p>   
</div>

Чтобы исправить некоторую проблему с CSS, я хочу добавить тег div

после content_nav div, как этот

<div id="contents">
    <div id="content_nav">
        something goes here
    </div>

    <div style="clear:both"></div>

    <p>
        some contents
    </p>   
</div>

Я делаю это следующим образом:

import lxml.etree

tree = lxml.etree.fromString(inputString, parser=lxml.etree.HTMLParser())

contentnav = tree.find(".//div[@id='content_nav']")
contentnav.append(lxml.etree.XML("<div style='clear: both'></div>"))

Но это не добавляет новый div сразу после content_nav div но внутри.

<div id="content_nav">
    something goes here
    <div style="clear:both"></div>
</div>

Есть ли способ добавить div в середину content_nav div и некоторые p , подобные этому, внутри содержимого ?

​​Спасибо

15
задан Tu Hoang 19 September 2011 в 17:38
поделиться