2011-04-15 3 views
0

est Ci-dessous le code que j'utilise pour sérialiser un objetImpossible de sérialiser un objet

College college = new College(); 
college= (College)(Session["XML"]); 

public void serializetoxml(College college) 
{ 
    System.Xml.Serialization.XmlSerializer myserializer = new System.Xml.Serialization.XmlSerializer(college.GetType()); 
    // XmlSerializer myserializer = new XmlSerializer(typeof(College)); 
    TextWriter mywriter = new StreamWriter("C:\\invoice.xml"); 
    myserializer.Serialize(mywriter, college); 
    mywriter.Close(); 
} 

Désolé, j'ai manqué coller le code de ma classe, ici il est

[System.SerializableAttribute()] 
[System.Diagnostics.DebuggerStepThroughAttribute()] 
[System.ComponentModel.DesignerCategoryAttribute("code")] 
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="")]   [System.Xml.Serialization.XmlRootAttribute] 
public partial class College{ 

    /// <remarks/> 
    public Header header; 

    /// <remarks/> 
    [System.Xml.Serialization.XmlElementAttribute("Student")] 
    public Student Student; 

    /// <remarks/> 
    public Summary summary; 
} 

[System.SerializableAttribute()] 
[System.Diagnostics.DebuggerStepThroughAttribute()] 
[System.ComponentModel.DesignerCategoryAttribute("code")] 
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true,Namespace="")] 
[System.Xml.Serialization.XmlRootAttribute] 
public partial class Invoice { 


    /// <remarks/> 
    [System.Xml.Serialization.XmlElementAttribute("Activity")] 

    public List<Activity> Activity; 

     } 
[System.SerializableAttribute()] 
[System.Diagnostics.DebuggerStepThroughAttribute()] 
[System.ComponentModel.DesignerCategoryAttribute("code")] 
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="")] 
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)] 
public partial class Activity{ 

    /// <remarks/> 
    [System.Xml.Serialization.XmlElementAttribute(DataType = "integer")] 
    public string StudentNumber; 


    /// <remarks/>   
    public string mark1; 

    /// <remarks/> typed it in manually 

    public string mark2; 
    } 

Cette est l'erreur que j'obtiens {"Il y avait une erreur reflétant le type 'A.Common.College'."}

C'est un exemple de realtimeclass.

+3

Quelle est la question? Votre titre dit incapable de sérialiser .. Quelle est votre erreur? –

+0

Pouvez-vous fournir des détails sur "impossible de sérialiser"? Aussi, il serait utile si vous pouvez poster le code pour la classe 'College'. –

+0

Oui, vous avez raison. C'est ton code. Quel est le problème? Avez-vous des erreurs? –

Répondre

0

Examinez l'exception interne que vous obtenez. Il vous dira quel champ/propriété il rencontre des problèmes de sérialisation.

Vous pouvez exclure des champs/propriétés de la sérialisation xml en les décorant avec l'attribut [XmlIgnore()].

Questions connexes