2009-05-19 7 views
3

Actuellement, je travaille avec xml et dois remplir le fichier xml de l'objet C# serializaion.Suppost ci-dessous est le format xml ce que je veux faire.Problème de classe C# en XML (xmlserializaion)

<DVD> 
<Starring> 
    <Star position="actor"> 
     Tom Hanks 
    </Star> 
    <Star position="actress"> 
     Robin Wright 
    </Star> 
<Title>Forrest Gump</Title> 
</Starring> 
</DVD> 

J'ai deux classes DVD et Star.

Public class DVD 
{ 
    string title; 
    public string Title{get{return title;}set {title=value;}} 
    List<Star> Starring=new List<Star>(); 
} 
public class Star 
{ 
    string star; 
    string pos; 
    [XmlAttribute] 
    public string Position{get{return pos;}set{pos=value;}} 
    //Actually i don't want this property as a xmlelement 
    public String StarName 
    { 
    get{return star;} 
    set {star=value;} 
    } 
} 

Résultat de sérialisation est

<DVD> 
<Starring> 
    <Star position="actor"> 
     <StarName>Tom Hanks</StarName> 
    </Star> 
    <Star position="actress"> 
     <StarName>Robin Wright</StarName> 
    </Star> 
<Title>Forrest Gump</Title> 
</Starring> 
</DVD> 

Mon problème est que je ne trouve pas la façon comment envelopper Acteur et Actrice nom sans avoir StarName node.Is il un moyen de le faire? .Tout idée serait très appréciable.

+0

Je ne vous crois pas! Étant donné votre code, l'élément Title sera en dehors de l'élément Starring - en fait un pair de cet élément. – Cheeso

Répondre

5

Utilisez XmlTextAttribute sur la propriété StarName.

+0

salut baretta Cela fonctionne très bien. Merci beaucoup :) – mtt