0
0 комментариев

Довелось тут работать с битыми svg-файлами, в которых в большом количестве имеются ошибки двух видов:

  1. Забыли закрыть тег: foo

  2. Два раза закрыли тег: foobar

Когда столкнулся с первым типом ошибки, я воспользовался встроенной в lxml фичей:

parser = lxml.etree.XMLParser(recover=True)
svg = lxml.etree.XML(svgdata, parser=parser)

Ктоорая выдаёт foo и всё типа хорошо.

Однако, когда я столкнулся со вторым типом ошибки, там оно выдало foo, то есть потеряло bar (часть файла после закрытого тега). А мне бы хотелось получить-таки foobar.

Есть ли готовые решения для починки обоих типов ошибок или отправляться пилить свой велосипед?


Добавить комментарий