2013-05-20 43 views
1

我将XML输出存储到String并再次将此字符串转换为XML .I成功将XML输出转换为字符串,但是我再次遇到了将字符串转换为XML的问题。使用.Net将字符串转换为XML

示例代码:

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

您应该使用XDocumentXDocument优于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字符串。