2013-05-20 3 views
1

Я сохраняю вывод XML в String и снова конвертирую эту строку в XML. Я успешно конвертирую вывод XML в String, но у меня снова возникает проблема преобразования строки в XML.Преобразование строки в XML с использованием .Net

Пример кода:

webservice.Service1 objService1 = new webservice.Service1(); 
    String s = objService1.HelloWorld(); //Convert XML output into String 
    XmlDocument xd = new XmlDocument(); 
    xd.LoadXML(s); 

Я использую LoadXML() метод, но я получил ошибку

Data at the root level is invalid. Line 1 position 1. 

Его признательна, если любое тело дать правильный код для преобразования строки в XML в C#. Спасибо,

+1

Пожалуйста, укажите значение 's' - есть хороший шанс, что это не XML. –

+0

Поместите строковый ответ из метода HelloWorld(). –

ответ

5

Вы должны использовать XDocument. XDocument лучше, чем XMLDocument. Он очень эффективен, прост и прост в использовании.

Ваш код:

webservice.Service1 objService1 = new webservice.Service1(); 
    String s = objService1.HelloWorld(); //Convert XML output into String 
    XmlDocument xd = new XmlDocument(); 
    xd.LoadXml(s); 

Решение:

XDocument xd = XDocument.Parse(s); 
+0

Непонятно, почему использование разного XML-синтаксического анализа каким-то образом сделает некоторый текст допустимым XML (если другой парсер не смог его распознать). Также «спасибо за заметки» не нужны ... –

1
 XmlDocument xd = new XmlDocument(); 
     xd.LoadXml("<root>123</root>"); 

Он работает. Вы должны напечатать значение s и проверить, что это действительная строка xml.

Смежные вопросы