Рассмотрим следующее:
from lxml import etree
from StringIO import StringIO
x = """<?xml version="1.0" encoding="utf-8"?>\n<aa> â</aa>"""
p = etree.XMLParser(remove_blank_text=True, resolve_entities=False)
r = etree.parse(StringIO(x), p)
Это не получится: lxml.etree.XMLSyntaxError: Entity 'nbsp' not defined, line 2, column 11
Это потому, что resolve_entities=False
не игнорирует их, он просто не разрешает их.
Если я использую etree.HTMLParser
вместо этого, он создает теги html
и body
, а также множество других специальных действий, которые он пытается сделать для html
.
Каков наилучший способ получить дочерний текст â
в теге aa
с помощью lxml?