Dato il seguente codice XML:È possibile deserializzare il codice XML nell'elenco <T>?
<?xml version="1.0"?>
<user_list>
<user>
<id>1</id>
<name>Joe</name>
</user>
<user>
<id>2</id>
<name>John</name>
</user>
</user_list>
E la seguente classe:
public class User {
[XmlElement("id")]
public Int32 Id { get; set; }
[XmlElement("name")]
public String Name { get; set; }
}
E 'possibile utilizzare XmlSerializer
deserializzare l'XML in un List<User>
? In tal caso, che tipo di attributi aggiuntivi dovrò utilizzare, o quali parametri aggiuntivi devo usare per costruire l'istanza XmlSerializer
?
Un array (User[]
) sarebbe accettabile, se un po 'meno preferibile.
Bella soluzione con [XmlElement ("utente")] per evitare un ulteriore livello di elementi. Guardando questo, ho pensato per certo che avrebbe emesso un nodo o (se non avevi l'attributo XmlElement), e poi aggiungere nodi sotto quello. Ma l'ho provato e non l'ha fatto, emettendo così esattamente ciò che la domanda voleva. –
E se avessi due elenchi in UserList sopra? Ho provato il tuo metodo e dice che già definisce un membro chiamato XYZ con gli stessi tipi di parametro –
Non so perché questo è contrassegnato come risposta giusta. Include l'aggiunta di una classe per avvolgere l'elenco. Questo era certamente ciò che la domanda sta cercando di evitare. – DDRider62