Страницы

Поиск по вопросам

воскресенье, 12 мая 2019 г.

Как проверить файл на то, что его содержимым является XML документ?

У меня есть схема, при помощи которой я проверяю переданный документ на валидность. Но если я передаю другой файл, текстовый или картинку, то программа загибается еще на этапе открытия. Как вариант, можно открытие обернуть в Try..catch, но хотелось бы узнать, есть ли иной способ?


Ответ

Оборачивайте открытие в try/catch
Все стандатные способы работы с XML выбрасывают исключения при невалидности (в смысле well-formed) документа. Методов IsWellFormed нет.
Единственное, что можно улучшить (если вы это еще не сделали) - использовать для валидации именно XmlReader c ValidationType = ValidationType.Schema - чтобы избежать потенциальных проблем с огромными документами, которые "биты" в самом конце.

Комментариев нет:

Отправить комментарий