如何反序列化XML文檔如何反序列化此XML文檔:<?xml version="1.0" encoding="utf-8"?><Cars>
<Car>
<StockNumber>1020</StockNumber>
<Make>Nissan</Make>
<Model>Sentra</Model>
</Car>
<Car>
<StockNumber>1010</StockNumber>
<Make>Toyota</Make>
<Model>Corolla</Model>
</Car>
<Car>
<StockNumber>1111</StockNumber>
<Make>Honda</Make>
<Model>Accord</Model>
</Car></Cars>我有這個:[Serializable()]public class Car{
[System.Xml.Serialization.XmlElementAttribute("StockNumber")]
public string StockNumber{ get; set; }
[System.Xml.Serialization.XmlElementAttribute("Make")]
public string Make{ get; set; }
[System.Xml.Serialization.XmlElementAttribute("Model")]
public string Model{ get; set; }}。[System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]public class Cars{
[XmlArrayItem(typeof(Car))]
public Car[] Car { get; set; }}。public class CarSerializer{
public Cars Deserialize()
{
Cars[] cars = null;
string path = HttpContext.Current.ApplicationInstance.Server.MapPath("~/App_Data/") + "cars.xml";
XmlSerializer serializer = new XmlSerializer(typeof(Cars[]));
StreamReader reader = new StreamReader(path);
reader.ReadToEnd();
cars = (Cars[])serializer.Deserialize(reader);
reader.Close();
return cars;
}}似乎不起作用:-(
4 回答

梵蒂岡之花
TA貢獻1900條經(jīng)驗 獲得超5個贊
你如何將xml保存到文件中,并使用xsd生成C#類?
將文件寫入磁盤(我將其命名為foo.xml)
生成xsd:
xsd foo.xml
生成C#:
xsd foo.xsd /classes
Et voila - 和C#代碼文件應該能夠通過XmlSerializer
以下方式讀取數(shù)據(jù):
XmlSerializer ser = new XmlSerializer(typeof(Cars)); Cars cars; using (XmlReader reader = XmlReader.Create(path)) { cars = (Cars) ser.Deserialize(reader); }
(包括項目中生成的foo.cs)
- 4 回答
- 0 關注
- 692 瀏覽
添加回答
舉報
0/150
提交
取消