#c# #.net #xml #xmlreader
#c# #.net #xml #xmlreader
Вопрос:
Я читаю xml-строку с помощью XmlReader с кодом:
XmlReader reader = XmlReader.Create(new StringReader(xmlString));
while (reader.Read())
{
// some code
}
Но если xmlString
равно ""
, то у меня есть XmlException
on reader.Read()
: корневой элемент не найден. Как я могу проверить, может ли XmlReader читать содержимое или нет раньше reader.Read()
?
Ответ №1:
Но если xmlString равно «»
Ну, это недопустимый XML, поэтому это исключительная ситуация, когда было бы лучше создать исключение, а не продолжать читать что-то, что не является тем, за что оно себя выдает (XML). Таким образом, вы могли бы просто перехватить это исключение и сообщить пользователю, что произошла ошибка. Если он отвечает за входную строку, скажите ему, что он ввел недопустимый XML, который не может быть обработан. И если это ты, извинись, сказав, что что-то очень плохое пошло не так.
Это означает, что класс XmlReader ожидает действительный XML-файл в качестве входных данных.