2012-05-12 2 views
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 Path руководство. Просто сделайте XmlSerializer.Deserialize (MEM, OBJ)

Благодарности

+0

сериализуемых ** по какому сериализатору **? –

+0

Только что отредактировал вопросы –

+0

Я не знаю, как это сделать на C#. Только в ActionScript 3.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(); 

У вас будет список имен всех судов

+0

Не лучший, но хороший способ –

+0

не могли бы вы объяснить причину? Я использую такой десериализатор все время – om471987

+2

@Peter PAD, было бы лучше поставить это в вопрос. Также подумайте над тем, чтобы пересмотреть/удалить ваши комментарии, чтобы они были более вежливыми. –

Смежные вопросы