Я использую System.Xml для анализа XML-документов. Иногда XML-документы содержат не кодируемые символы, а затем выдается XmlException
. В этих случаях я хочу повторить синтаксический анализ документа с принудительной кодировкой, например:
try {
var doc = new XmlDocument();
doc.Load()
} catch (XmlException xe) {
// Retry here with another encoding..
}
Это работает довольно хорошо, за исключением того, что XmlException генерируется для всех типов проблем с XML, даже если они не вызваны проблемами кодировки символов. В этих случаях я не хочу повторять разбор. Так есть ли способ выяснить, было ли исключение XmlException вызвано проблемами кодировки символов или чем-то еще?