Как проверить с помощью C #, если файл XML не работает - PullRequest
5 голосов
/ 02 июня 2011

Есть ли что-то встроенное, чтобы определить, является ли файл XML действительным.Одним из способов является чтение всего содержимого и проверка, соответствует ли строка допустимому содержимому XML.Даже тогда, как определить, содержит ли строка допустимые данные XML.

Ответы [ 3 ]

11 голосов
/ 02 июня 2011

Создайте XmlReader вокруг StringReader с XML и прочитайте читателя:

using (var reader = XmlReader.Create(something))
    while(reader.Read()) 
        ;

Если вы не получите никаких исключений, XML будет правильно сформирован.

В отличие от XDocument или XmlDocument, он не будет хранить в памяти все дерево DOM, поэтому он будет работать быстро даже с очень большими файлами XML.

4 голосов
/ 02 июня 2011

Вы можете попытаться загрузить XML в документ XML и поймать исключение. Вот пример кода:

var doc = new XmlDocument();
try {
  doc.LoadXml(content);
} catch (XmlException e) {
  // put code here that should be executed when the XML is not valid.
}

Надеюсь, это поможет.

0 голосов
/ 02 июня 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...