Существует ли какой-либо простой / общий способ очистки источника данных на основе XML перед его использованием в XmlReader, чтобы я мог корректно использовать данные XML, которые не соответствуют ограничениям шестнадцатеричных символов, установленным для XML?
Примечание:
- Решение должно обрабатывать XML
источники данных, которые используют символ
кодировки, отличные от UTF-8, например от
указав кодировку
декларация XML-документа. Не
искажение кодировки символов
источник во время удаления недействительным
шестнадцатеричные символы были
главная точка соприкосновения.
- Удаление недопустимых шестнадцатеричных символов должно удалять только шестнадцатеричные закодированные значения, так как вы часто можете найти значения href в данных, которые содержат строку, которая будет совпадением строки для шестнадцатеричного символа.
Справка:
Мне нужно использовать источник данных на основе XML, который соответствует определенному формату (например, Atom или RSS-каналы), но я хочу иметь возможность использовать опубликованные источники данных, которые содержат недопустимые шестнадцатеричные символы в соответствии со спецификацией XML.
В .NET, если у вас есть Stream, который представляет источник данных XML, а затем пытаетесь проанализировать его с помощью XmlReader и / или XPathDocument, возникает исключение из-за включения недопустимых шестнадцатеричных символов в данные XML. Моя текущая попытка решить эту проблему - проанализировать Stream как строку и использовать регулярное выражение для удаления и / или замены недопустимых шестнадцатеричных символов, но я ищу более производительное решение.