Поймать только проблемы кодировки символов в XmlException - PullRequest
0 голосов
/ 29 августа 2011

Я использую System.Xml для анализа XML-документов. Иногда XML-документы содержат не кодируемые символы, а затем выдается XmlException. В этих случаях я хочу повторить синтаксический анализ документа с принудительной кодировкой, например:

try {
    var doc = new XmlDocument();
    doc.Load()
} catch (XmlException xe) {
    // Retry here with another encoding..
}

Это работает довольно хорошо, за исключением того, что XmlException генерируется для всех типов проблем с XML, даже если они не вызваны проблемами кодировки символов. В этих случаях я не хочу повторять разбор. Так есть ли способ выяснить, было ли исключение XmlException вызвано проблемами кодировки символов или чем-то еще?

Ответы [ 2 ]

0 голосов
/ 05 сентября 2011

Полагаю, ответ - нет, нет способа точно определить, что вызвало исключение XmlException.

0 голосов
/ 29 августа 2011

Я не знаю точно, как выглядит исключение, но наверняка, проверив содержимое xe.Message или xe.InnerException, вы сможете определить тип исключения?

...