Вопросительный знак в теле тэга XML
Следующий код на python:
import lxml.etree as ET
dom = ET.parse(u'C:\\bla.xml')
Вылетает с lxml.etree.XMLSyntaxError: switching encoding: encoder error, line 1, column 42
Если тело xml:
<?xml version="1.0" encoding="windows-1251"?>
<АНКЕТА_ЗЛ>
<АнкетныеДанные>
<МестоРождения>
<ГородРождения>?</ГородРождения>
</МестоРождения>
</АнкетныеДанные>
</АНКЕТА_ЗЛ>
И при этом корректно обрабатывается, если тело:
<?xml version="1.0" encoding="windows-1251"?>
<АНКЕТА_ЗЛ>
<АнкетныеДанные>
<МестоРождения>
<ГородРождения>,</ГородРождения>
</МестоРождения>
</АнкетныеДанные>
</АНКЕТА_ЗЛ>
Вопросительные знаки запрещены в теле XML документов? Или это баг ElementTree? Как правильно работать с содержимым XML документов, если написать там могут все, что угодно (но не знаки <>), в том числе и знак вопроса?
Источник: Stack Overflow на русском