作为一个整体,我对 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。
这可行吗?
问候,