2010-03-15 13 views
4

Ceci est pour un projet web donc j'ai plusieurs classes qui héritent de Web.UI.Comment sérialiser seulement certaines propriétés dans .Net?

Je veux seulement sérialisation des propriétés très particulières (essentiellement, seules les propriétés locales)

Je suis au courant de la propriété XMLIgnore qui peut être placé sur une propriété d'ignorer les éléments, mais cela ne fonctionnera pas dans mon contexte car cela nécessiterait de modifier un tas de choses que je ne veux vraiment pas modifier (et probablement pas).

Alors, comment puis-je dire au sérialiseur xml d'ignorer tout sauf X et Y ou lui dire de sérialiser juste X et Y?

Je pourrais juste créer mon propre xml dans un constructeur de chaîne ou quelque chose et si c'est la seule manière, ainsi soit-il. Cependant, je suis à la recherche d'une méthode qui utilisera le contenu XML intégré.

Merci

Répondre

2

Pour sérialisation sur mesure, vous pouvez tirer votre classe de ISerializable Interface et fournir Sérialisation personnalisée en conséquence

+0

Cela fonctionne parfaitement. Merci à vous et à Si. Maintenant, il suffit de comprendre comment l'obtenir pour ne pas ajouter l'élément d'ouverture par défaut (nom de la classe) – Beta033

+0

Glad, cela a aidé –

0

Vous pourriez mettre un peu de hack dedans et simplement déchirer des choses hors du XML après son retour. C'est une idée terrible par rapport à XMLIgnore, qui est la bonne solution, mais vous pouvez certainement extraire le XML, le faire tourner et supprimer tout ce que vous ne voulez pas voir.

Parfois, les idées terribles sont les meilleures.

Questions connexes