2010-10-05 7 views
1

je les suivantes XElement.Net Xml Désérialisation

<Issue Type="Duplicate" Distance="1"> 
    <Record> 
     <ID>6832</ID> 
     <Name_First>JAMES </Name_First> 
     <Name_Last>SMITH</Name_Last> 
     <Company>SMITH CO.</Company> 
    </Record> 
    <Record> 
     <ID>6831</ID> 
     <Name_First>JAMES</Name_First> 
     <Name_Last>SMITH</Name_Last> 
     <Company>SMITH CO.</Company> 
    </Record> 
    </Issue> 

Je suis en train de le Désérialise dans cet objet

public class Issue 
{ 
    [XmlAttribute] 
    public string Type { get; set; } 

    [XmlArrayItem(typeof(XElement), ElementName = "Record")] 
    public List<XElement> Record { get; set; } 
} 

Le type fonctionne pas de problème, mais je ne peux pas obtenir les deux Enregistrer les nœuds dans la liste Record de l'objet.

Est-il possible sans surcharger ISerializable et écrire du code personnalisé?

Répondre

2

Essayez ceci:

public class Issue 
{ 
    [XmlAttribute] 
    public string Type { get; set; } 

    [XmlAnyElement("Record")] 
    public List<XElement> Record { get; set; } 
} 

Je pense que dit le sérialiseur que plusieurs éléments d'enregistrement vont dans la liste.

+0

Changer cela à 'XmlAnyElement' a semblé fonctionner – CaffGeek

+0

Ah gentil, merci. –

1

Mettre en oeuvre la classe d'enregistrement qui a ID, Name_First, Name_Last et champs Société

+0

Je ne veux pas de classe, je veux un XElement car l'enregistrement pourrait contenir n'importe quoi. – CaffGeek

Questions connexes