Страницы

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

вторник, 25 февраля 2020 г.

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

#c_sharp #wpf #xmlparser #linq2xml


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


Ответы

Ответ 1



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

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

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