私はlxml.html
ライブラリを使ってHTML文書を解析しています。Python: `lxml.html`を使ってタグにHTMLコンテンツを挿入
私はcontent_tag
呼び出すことを、特定のタグを設置し、私はその内容(<div>
と</div>
の間、すなわち、テキストなど)を変更したいと新しいコンテンツがその中にいくつかのHTMLを文字列である、それは'Hello <b>world!</b>'
だと言います。
どうすればよいですか?私はcontent_tag.text = 'Hello <b>world!</b>'
を試みたが、それはは任意のHTMLをエスケープせずなど<
私はテキストを注入したいと<
を交換し、すべてのHTMLタグをエスケープします。どうやってやるの?
#!/usr/bin/env python2.6
from lxml.html import fromstring, tostring
from lxml.html import builder as E
fragment = """\
<div id="outer">
<div id="inner">This is div.</div>
</div>"""
div = fromstring(fragment)
print tostring(div)
# <div id="outer">
# <div id="inner">This is div.</div>
# </div>
div.replace(div.get_element_by_id('inner'), E.DIV('Hello ', E.B('world!')))
print tostring(div)
# <div id="outer">
# <div>Hello <b>world!</b></div></div>
も参照してください:
_nice_方法は、 'world'のための新しい子ノードを追加することです。 – katrielalex
どうすればいいですか? –