Czy istnieje sposób na odzyskanie iterparse w przypadku nieprawidłowych wartości Char?
Używam lxmliterparse
analizować niektóre duże pliki XML (3-5Gig). Ponieważ niektóre z tych plików mają nieprawidłowe znaki alxml.etree.XMLSyntaxError
Jest rzucony.
Podczas korzystania z lxml.etree.parse mogę dostarczyć parser, który odzyskuje nieprawidłowe znaki:
parser = lxml.etree.XMLParser(recover=True)
root = lxml.etree.parse(open("myMalformed.xml, parser)
Czy istnieje sposób na uzyskanie tej samej funkcjonalności dla iterparse?
Edytować: Kodowanie nie jest tutaj problemem. W tych plikach XML znajdują się nieprawidłowe znaki, które można oczyścić, definiując XMLParser z recovery = True. Ponieważ muszę do tego użyć iterparse, nie mogę użyć niestandardowego parsera. W związku z tym szukam w tym miejscu funkcjonalności podanej powyżej:
context = etree.iterparse(open("myMalformed.xml", events=('end',), tag="Foo") <-- cant recover