我想下面的XML結構反序列化到一個對象...deserialise XML響應到自定義類
<?xml version="1.0" encoding="utf-8"?>
<xmlRoot>
<nest1>
<element1>A</element1>
<nest2>
<element2>aqbc</element2>
<element3>vjd</element3>
</nest2>
</nest1>
</xmlRoot>
有沒有爲它的模式,我不能改變它。現在我遇到了將這個結構放入類窗體的問題....
我感興趣的唯一信息是nest2內部元素的值。我的C#類看起來像下面...
/// <summary>
/// Summary description for FirstResponse
/// </summary>
[Serializable]
[System.Xml.Serialization.XmlRoot("nest2")]
public class FirstResponse
{
[System.Xml.Serialization.XmlElement("element2")]
public string Element2{ get; set; }
[System.Xml.Serialization.XmlElement("element3")]
public string Element3{ get; set; }
}
使用下面的代碼,我收到一個異常或我只是得到一個空的對象...
FirstResponse response = null;
try
{
XmlSerializer serializer = new XmlSerializer(typeof(FirstResponse));
StringReader reader = new StringReader(xmlString);
response = (FirstResponse)serializer.Deserialize(reader);
reader.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
return response;
如果我設置XmlRoot爲' nest2'我收到異常; '沒有預料到'。「如果我改變價值「xmlRoot」我得到一個空對象...
我真的不知道在哪裏我已經錯了這裏....
非常感謝此過程!它有點臃腫,但我可以把它拿出很多!謝謝!! – Roooss
@Roooss:這不完美 - 但這是一個很好的起點! –