0

请告诉我,如何在 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)

谢谢

4

1 回答 1

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();

您将获得所有船只的名称列表

于 2012-05-12T01:31:59.467 回答