【发布时间】:2014-10-30 13:20:27
【问题描述】:
我有以下XML:
<Envelope>
<Body>
<RESULT>
<SUCCESS>TRUE</SUCCESS>
<RecipientId>9876543210</RecipientId>
<ORGANIZATION_ID>12345-67890-b9e6bcd68d4fb511170ab3fcff55179d</ORGANIZATION_ID>
</RESULT>
</Body>
</Envelope>
我试图反序列化为:
[XmlRoot(ElementName = "Envelope")]
public class Add_Recipent_response
{
public string Body { get; set; }
public string RESULT { get; set; }
public string SUCCESS { get; set; }
public string RecipientId { get; set; }
public string ORGANIZATION_ID { get; set; }
}
用这个方法:
protected void deserializeXML(string xmlResponse)
{
XmlSerializer deserializer = new XmlSerializer(typeof(Add_Recipent_response));
using (TextReader reader = new StringReader(xmlResponse))
{
try
{
Add_Recipent_response XmlData = (Add_Recipent_response)deserializer.Deserialize(reader);
}
catch (Exception ex)
{
Console.WriteLine(ex.GetBaseException());
}
}
}
这会引发异常:
InnerException = {"Unexpected node type Element. ReadElementString method can only be called on elements with simple or empty content. Line 4, position 2."}
谁能告诉我我做错了什么?
【问题讨论】:
-
您可以使用visual studio msdn.microsoft.com/en-us/library/hh371548(v=vs.110).aspx从xml/json 生成类
标签: c# asp.net xml xml-serialization xml-deserialization