请告诉我,如何在XmlSerializer中反序列化这个
<Root>
<Ship KindID=0>
<Ship0 Name='A' />
<Ship1 Name='B' />
<Ship2 Name='C' />
</Ship>
<Ship KindID=1>
<Ship3 Name='AA' />
<Ship4 Name='BB' />
<Ship4 Name='cC' />
</Ship>
</Root>
要
public class Ships {
public List<Ship> Ships {get; set;}
}
public class Ship {
public string Name {get;set;}
public int KindID {get;set;}
}
我希望无需导航所有xml路径手册即可反序列化。只需执行XmlSerializer.Deserialize(mem,obj)
由于
答案 0 :(得分:3)
你可以反序列化这样的东西。
var reader = new StreamReader("Path of the xml");
var shipCollection = (List<Ship>)serializer.Deserialize(reader);
收藏后,您可以使用Linq
var shipNameCollection = shipCollection.Where( t=> t.Name != null).ToList();
您将拥有所有船只的名单