Как я могу сериализовать / десериализовать эту строку XML в объект C #?
<Response>
<Business Number="99696" Name="My business" Address="" />
<Purchase PurchaseID="7" CustomerID="0" >
<Item Name="item 1" Qty="100" UnitCost="10.0000" />
<Item Name="item2" Qty="200" UnitCost="20.0000" />
</Purchase>
</Response>
Спасибо
rubenc
Я думаю, что это другой вопрос, потому что все вопросы обычно говорят об одном уровне и / или списке предметов
Моя проблема в том, что у меня разные уровни:
<Response> //root
<Business ... /> //level 1
<Purchase... > //level 1
<Item ... /> // list
Я получаю нулевое число, имя и т. Д.
Это то, что я пробовал до сих пор:
[Serializable, XmlRoot("Response")]
public class Response
{
public Depot depot = new Depot();
// I have tried this also:
//[XmlElement("Number")]
//public string Number { get; set; }
//[XmlElement("Name")]
//public string Name { get; set; }
}
public class Depot
{
[XmlElement("Number")]
public string Number { get; set; }
[XmlElement("Name")]
public string Name { get; set; }
}
static object DeserializeResponse(string responseString)
{
var serializer = new XmlSerializer(typeof(Response));
Response result;
using (var reader = new StringReader(responseString))
{
result = (Response)serializer.Deserialize(reader);
}
return result;
}