загрузка потока ответов в XDocument, отсутствует корневой элемент

#c# #stream #linq-to-xml

#c# #поток #linq-to-xml

Вопрос:

Я читал, что установка положения потока в 0 решает эту проблему, но это не удается, поскольку поток «не поддерживает операции поиска».

При этом происходит сбой:

 XDocument doc = XDocument.Load(resp.GetResponseStream());
  

Чтение потока:

 string t = new StreamReader(resp.GetResponseStream(), Encoding.Default).ReadToEnd();
  

…показывает, что мой xml не мог быть проще:

 <xml version="1.0">
  <ActiveStorms>
  </ActiveStorms>
</xml>
  

Это как-то искажено?

Спасибо за любую помощь, Майк

Ответ №1:

XML-документы не заканчиваются </xml> закрывающим тегом, поэтому удалите его. Инициалом <xml version="1.0"> должно быть: <?xml version="1.0"> (обратите внимание на знак вопроса).

Таким образом, допустимая версия будет выглядеть как:

 <?xml version="1.0">
<ActiveStorms>
</ActiveStorms>
  

Ответ №2:

Правильное XML-объявление

 <?xml version="1.0" encoding="utf-8" ?>
  

и после этого добавьте свой корневой узел <ActiveStorms>
итак,

 <?xml version="1.0" encoding="utf-8" ?>
<ActiveStorms>
</ActiveStorms>