Tôi khá mới đối với lxml và HTML Parsers nói chung. Tôi đã tự hỏi nếu có một cách để thay thế một yếu tố trong một cái cây với một yếu tố khác ...Thay thế các phần tử bằng lxml.html
Ví dụ tôi có:
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)
tôi muốn làm một cái gì đó dọc theo những dòng này, nhưng kết quả này trong "TypeError" vì "hilited" không phải là lxml.etree._Element.
Điều này có khả thi không?
Kính trọng,
Tôi đã tìm kiếm xung quanh và tôi nhận thấy BeautifulSoup có chức năng này chính xác qua replaceWith, là có một cái gì đó tương tự như -this- trong lxml? (Nếu không được, tuy nhiên, tôi vẫn còn bị xâm phạm) Cảm ơn bạn lần nữa! – tsoporan