我对lxml和HTML解析器还比较陌生,想知道是否有一种方法可以用另一个元素替换树中的某个元素...
例如,我有以下内容:
body = """<code> def function(arg): print arg </code> Blah blah blah <code> int main() { return 0; } </code> """
doc = lxml.html.fromstring(body)
codeblocks = doc.cssselect('code')
for block in codeblocks:
lexer = guess_lexer(block.text_content())
hilited = highlight(block.text_content(), lexer, HtmlFormatter())
doc.replace(block, hilited)
我希望做类似的事情,但这会导致出现“TypeError”,因为“hilited”不是lxml.etree._Element。
这可行吗?
敬礼,