2009-11-16 84 views
2

当XML具有诸如“Lord & Hogan”之类的数据时,以下代码会中断。有什么建议么? 谢谢你,肯使用XmlSerializer以&符号化反序列化XML()

private T GetResponse<T>(String apiObject, String query) 
    { 
     //Deserialize XML into the type specified. 
     HttpWebRequest request = (HttpWebRequest)WebRequest.Create(BuildRequestUri(apiObject, query)); 
     using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse()) 
     { 
      try 
      { 
       XmlSerializer ser = new XmlSerializer(typeof(T)); 
       return (T)ser.Deserialize(resp.GetResponseStream()); 
      } 
      catch (Exception e) 
      { 
       error = e.InnerException.ToString(); 
       return default(T); 
      } 
     } 
    } 
+1

你能后的异常? – 2009-11-16 18:44:28

+0

System.Xml.XmlException:解析EntityName时发生错误。第12行,第30位。 我应该提到,我对源XML的控制有限(用户可以在未验证的情况下添加&符)。在尝试反序列化之前,我是否应该尝试处理响应?谢谢,肯。 – Kenmeister 2009-11-16 20:07:25

回答

3

你应该像 “主&法眼” XML编码数据。应该像这样编码:在XML

"Lord &amp; Hogan"

3

&&amp;更换,否则它是无效字符。