Différence entre l'utilisation de XMLRoot / XMLElement et l'utilisation des attributs Serializable () (dans c #)
quelle est la Différence entre l'utilisation de XMLRoot/XMLElement et à l'aide de Serializable() attributs?
comment puis-je savoir quand utiliser chaque ?
source d'informationauteur Rodniko
Vous devez vous connecter pour publier un commentaire.
Ici est un de moins que dans la profondeur de la description, mais je pense que un bon point de départ.
XmlRootAttribute
- Est utilisé pour fournir des informations de schéma pour la classe qui va être l'élément racine de l'objet graphique sérialisées. Ce ne peut être appliqué qu'à des classes, structures, énumérations, les interfaces des valeurs de retour.XmlElementAttribute
- Fournit des informations de schéma pour les propriétés d'une classe de contrôler la façon dont ils sont sérialisés en tant qu'éléments enfants. Cet attribut ne peut être appliquée à des champs (variable de classe des membres), les propriétés, les paramètres et valeurs de retour.Les deux premiers
XmlRootAttribute
etXmlElementAttribute
concernent le XmlSerializer.Tandis que la suivante, est utilisé par le moteur d'exécution des formateurs et ne s'applique pas lors de l'utilisation de XmlSerialization.
SerializableAtttrible
- Est utilisé pour indiquer que le type peut être sérialisé par le moteur d'exécution des formateurs comme SoapFormatter ou BinaryFormatter. Ce n'est nécessaire que si vous avez besoin de sérialiser le type à l'aide de l'une des formateurs et peut être appliqué pour les délégués, les énumérations, les structures et les classes.Voici un exemple rapide qui pourrait aider à clarifier la ci-dessus.
Donné ci-dessus, un exemple de Carnet d'adresses sérialisé avec un XmlSerializer donnerait XML au format suivant