xmlserializer de validation
Je suis en utilisant le XmlSerializer pour désérialiser Xml archives. Mais j'ai trouvé la classe xsd.exe généré offre seulement la possibilité de lire le xml, mais pas de validation. Par exemple, si un nœud n'est pas dans un document, le champ d'attribut de la classe générée sera null, plutôt que de lève une exception de validation comme je m'y attendais. Comment puis-je y parvenir? Merci!
OriginalL'auteur Roy | 2009-11-10
Vous devez vous connecter pour publier un commentaire.
Le code suivant doit les valider par rapport à un schéma tandis que la désérialisation. Le même code peut être utilisé pour la validation d'un schéma lors de la sérialisation.
Quant à l'allusion au "code similaire peut être utilisée pour valider contre un schéma lors de la sérialisation", il est question ici: stackoverflow.com/q/53168867/5333340
OriginalL'auteur John Saunders
Le code suivant va charger manuellement et de valider votre XML par rapport à un schéma fichier par programmation, vous permettant de gérer toute erreurs et/ou des avertissements.
Maintenant, évidemment, vous avez le désir de les classes générées par xsd.exe pour ce faire automatiquement et pendant le chargement (l'approche ci-dessus aurait besoin d'un deuxième manipulation de fichier XML), mais une charge de pré-valider vous permettra de détecter par programme un mal formé fichier d'entrée.
Dans le texte de la question, OP exprime qu'il veut la levée d'une exception pour une entrée non valide xml. Cette approche n'accomplir que. Je ne prétends pas que c'est la seule façon dont il peut être fait, ou même que c'est le meilleur moyen. Mais j'ai été de répondre avec une approche (du haut de ma tête) que j'avais utilisé dans le passé, généralement, de valider des documents XML.
OriginalL'auteur el2iot2