У вас есть несколько вариантов для строк; xml, что можно сделать просто с помощью XmlSerializer
(или DataContractSerializer
, но это дает гораздо меньший контроль над XML) или JSON (JSON.net и т. д.).
Типичные классы для XmlSerializer
будут выглядеть просто так:
public class Apple {
public string Variety {get;set;}
public decimal Weight {get;set;}
// etc
}
(заметьте, я ожидаю, что вышеприведенное также будет работать на JSON.net)
Вышеуказанный класс также должен нормально работать в сценариях привязки данных и т. Д. Благодаря свойствам.
Вы бы сериализовали это:
Apple obj = new Apple { Variety = "Cox", Weight = 12.1M};
XmlSerializer ser = new XmlSerializer(typeof(Apple));
StringWriter sw = new StringWriter();
ser.Serialize(sw, obj);
string xml = sw.ToString();
StringReader sr = new StringReader(xml);
Apple obj2 = (Apple)ser.Deserialize(sr);
но вы можете настроить xml:
[XmlType("apple"), XmlRoot("apple")]
public class Apple {
[XmlAttribute("variety")]
public string Variety {get;set;}
[XmlAttribute("weight")]
public decimal Weight {get;set;}
// etc
}
DataContractSerializer
это в идеале больше похоже на:
[DataContract]
public class Apple {
[DataMember]
public string Variety {get;set;}
[DataMember]
public decimal Weight {get;set;}
}