ElementTreeを使用するPython2.6では、HTMLやJavaScriptで実行できることのように、特定の要素内でXMLを(文字列として)フェッチするための良い方法は何innerHTML
ですか?
これが私が始めているXMLノードの単純化されたサンプルです:
<label attr="foo" attr2="bar">This is some text <a href="foo.htm">and a link</a> in embedded HTML</label>
私はこの文字列で終わりたいです:
This is some text <a href="foo.htm">and a link</a> in embedded HTML
親ノードを反復処理して子のを連結しようとしましたtostring()
が、サブノードしか得られませんでした。
# returns only subnodes (e.g. <a href="foo.htm">and a link</a>)
''.join([et.tostring(sub, encoding="utf-8") for sub in node])
正規表現を使用してソリューションをハックすることはできますが、これよりもハックが少ないものがあることを期待していました。
re.sub("</\w+?>\s*?$", "", re.sub("^\s*?<\w*?>", "", et.tostring(node, encoding="utf-8")))