如果你有這樣的格式的數據:
<Person>
<Id>1</Id>
<FirstName>John</FirstName>
<LastName>Smith</LastName>
</Person>
那麼這個C#代碼desrialise成Person實例
//assuming you have a string called "data" that contains the above XML.
XDocument xd=XDocument.Parse(data); //needs System.Xml.Linq for XDocument type.
using(var reader = xd.CreateReader())
{
using(XmlSerializer ser = new XmlSerializer(typeof(Person))
{
Person p = ser.Deserialize(reader) as Person;
//p will be null if it didn't work, so make sure to check it!
}
}
注意,解串器是大小寫敏感的,所以你需要以確保元素案例與你的類中的屬性框架相匹配(你可以通過使用Serializer屬性裝飾你的屬性來告訴序列化者如何映射他們的屬性here)
純原生序列化器非常適合這樣的簡單對象,但可能會讓你在char,bool等數據類型上出現問題,因此請檢查該屬性上的鏈接。
如果你想從你在問題中提供的格式來完成它,你需要編寫一個自定義的串行器,在你的情況下,我的建議是從你的文件中讀取數據並使用XDocument這有助於。
您是否考慮過使用更標準的數據交換格式,如JSON,SEN或XML? – 2013-03-09 14:59:03