0
我剛開始使用xml序列化,我嘗試了這些:xml使用非常簡單的文件進行反序列化
(1)反序列化時拋出異常。 (2)也會引發異常 (3)不工作,因爲它應該的。
任何想法非常讚賞。提前致謝。
1) const string XML = @"<?xml version=""1.0""?>
<DietPlan>
<Fruit>fig</Fruit>
<Veggie>Carrot</Veggie>
</DietPlan>";
[XmlRoot(ElementName = "DietPlan")]
public class TestData
{
[XmlElement("Fruit")]
public XmlElement Fruits { get; set; }
[XmlElement("Veggie")]
public XmlElement test { get; set; }
}
2) const string XML = @"<?xml version=""1.0""?>
<DietPlan>
<Fruit>fig</Fruit>
<Fruit>fig</Fruit>
<Veggie>Carrot</Veggie>
<Veggie>Carrot</Veggie>
</DietPlan>";
[XmlRoot(ElementName = "DietPlan")]
public class TestData
{
[XmlElement("Fruit")]
public List<XmlElement> Fruits { get; set; }
[XmlElement("Veggie")]
public List<XmlElement> test { get; set; }
}
3) const string XML = @"<?xml version=""1.0""?>
<DietPlan>
<Data>
<Fruit>fig</Fruit>
<Fruit>fig</Fruit>
<Veggie>Carrot</Veggie>
<Veggie>Carrot</Veggie>
</Data>
</DietPlan>";
[XmlRoot(ElementName = "DietPlan")]
public class TestData
{
public Datas Datas { get; set; }
}
public class Datas
{
[XmlElement("Fruit")]
public List<XmlElement> Fruits { get; set; }
[XmlElement("Veggie")]
public List<XmlElement> test { get; set; }
}
1)xml文件在我的上下文中是有效的! (雖然格式不正確)
2)這是我用來反序列化的代碼!
public static void Deserialize()
{
var ms = new MemoryStream(Encoding.UTF8.GetBytes(XML));
var xs = new XmlSerializer(typeof(TestData));
var obj = (TestData)xs.Deserialize(ms);
}
編輯:(3)已經將這裏的答案enter link description here