la validation de schéma XML
J'ai un fichier XSD et un fichier XML, comment puis-je vérifier si le XML est en droit de schéma comme le fichier XSD?
je sais qu'il est un valider la fonction dans le XmlDocument
classe, mais il a besoin d'un gestionnaire d'événements
et tout ce que je besoin est vraie ou fausse.
P. S. je travaille inVisual Studio 2010.
OriginalL'auteur aharon | 2011-01-03
Vous devez vous connecter pour publier un commentaire.
il y a beaucoup de moyen facile de le faire:
P. S : je n'ai pas écrit ce VS, donc il y aura peut-être le mot que pas sensible à la casse, mais ce codes fonctionne!
Étonnamment simple par rapport à d'autres solutions, merci!
validate
devrait être avec la première capitale de la lettre...OriginalL'auteur aharon
Vous pouvez créer une validation XmlReader instance à l'aide de la XmlReaderSettings de la classe et de la méthode de création.
Le code ci-dessus va lever une exception si le schéma n'est pas valide ou qu'il est incapable de désérialiser le xml. rootType est le type de l'élément racine dans l'équivalent de la hiérarchie de classe.
Exemple :
Schéma: Schéma XML Tutoriel. Enregistrez le fichier en tant que
D:\SampleSchema.xsd
.Exécuter
xsd.exe
:xsd.exe /c /out:D:\ "D:\SampleSchema.xsd"
/out
option pour spécifier le répertoire de sortie,/c
est de spécifier l'outil pour générer des classesD:\SampleSchema.cs
Ajouter la classe pour le projet visual studio.
Pour le dessus de xsd exemple, la classe racine est
note
.L'appel à la méthode,
Plus d'infos:
Ce ne sera pas valider quoi que ce soit depuis pas ValidationFlags sont fixés. Ce sera juste désérialiser le xml.
je n'ai pas besoin desirialization. j'ai besoin de validation...
J'avais sauté une ligne, cela devrait fonctionner maintenant.
que dois-je saisir le rootType?
OriginalL'auteur Devendra D. Chavan
Vous pourriez faire quelque chose comme cela.
Le schéma.
Vous pouvez passer d'un chemin d'accès à la validation de la fonction et de faire du " var lecteur = XmlReader.Créer(chemin d'accès, paramètres); "au lieu de" var lecteur = XmlReader.Créer(nouveau StringReader(xml), paramètres);'
ok. mais ce que la boucle "while" censé faire? et comment la fonction utiliser le programme?
La boucle while analyse le document xml, et dans le processus de valider le xml. Le xml contient une référence sur le schéma: <Product ProductID=""1"" xmlns:xsi=""w3.org/2001/XMLSchema-instance"" xsi:noNamespaceSchemaLocation="schéma".xsd"">
un. quel est le code que vous devez écrire dans la boucle while? b. que faire si je n'ai pas de référence dans le code pour le schéma, c'est dans les propriétés. serait-il travailler?
OriginalL'auteur Steven K.