xmlns =''>不是预期的。 - 有一个XML文档中的错误(2,2)

问题描述:

我试着用下面的代码序列化从this simple web servicexmlns =''>不是预期的。 - 有一个XML文档中的错误(2,2)

IM的响应:

WebRequest request = WebRequest.Create("http://inb374.jelastic.tsukaeru.net:8080/VodafoneDB/webresources/vodafone/04111111");  
WebResponse ws = request.GetResponse(); 
XmlSerializer s = new XmlSerializer(typeof(string)); 
string reponse = (string)s.Deserialize(ws.GetResponseStream()); 
+0

什么跟我发生了,当我得到这个错误是我单独序列化许多对象相同的文件,然后尝试反序列化表示的XML文件到列表,有什么固定它只是删除XML文件的XMLNS部分,创建自定义列表,然后序列化只有该列表,然后我将xml文件反序列化到自定义列表。我知道这无关你,但我要离开这里,因为这是我遇到了这个问题让我看一下这个问题摆在首位,所以也许它会帮助别人。 –

XmlSerializer的声明作为

XmlSerializer s = new XmlSerializer(typeof(string),new XmlRootAttribute("response")); 

就足够了。

+1

谢谢soooooooo! – user1384603

+1

FYI L.B是正确的,如果有一个父节点,则会有轻微的变化。在XML我反序列父节点是将其抛出异常“是没有预料到的”新XmlRootAttribute。(‘应答’));不清除该错误,新XmlRootAttribute(“PlatformResponse”));曾投票表决了LB – Joe

+0

它500赏金的方式,你队友感谢 –

你要反序列化的XML,并把它作为一个片段。

有可用here一个非常简单的解决方法。我已经修改了它为您的方案:

var webRequest = WebRequest.Create("http://inb374.jelastic.tsukaeru.net:8080/VodafoneDB/webresources/vodafone/04111111"); 

using (var webResponse = webRequest.GetResponse()) 
using (var responseStream = webResponse.GetResponseStream()) 
{ 
    var rootAttribute = new XmlRootAttribute(); 
    rootAttribute.ElementName = "response"; 
    rootAttribute.IsNullable = true; 

    var xmlSerializer = new XmlSerializer(typeof (string), rootAttribute); 
    var response = (string) xmlSerializer.Deserialize(responseStream); 
} 
+0

谢谢你的时间。我发现用户L.B的答案非常简单而有用。 – user1384603

+0

@ user1384603没问题。 –