VB.NET validation de fichier XML à l'encontre de fichier XSD et de parser le fichier xml
Ce que je dois faire?
J'ai besoin de valider un fichier XML (passer le chemin d'accès au fichier/emplacement) contre le fichier XSD (passer le chemin d'accès au fichier/emplacement). J'ai besoin de vérifier qu'il est wellformed aucun des caractères illégaux et il a toutes les balises définies dans le fichier XSD je.e pas de balise manquante. Il correspond à des types de données définis dans le fichier xsd. Après que ce soit fait j'ai besoin de parser le fichier xml pour obtenir les données et de les stocker dans la base de données.
Questions?
1) à l'Aide de XmlReaderSetttings avec XmlDocument et XmlReader à Valider la méthode qui m'aident à réaliser ce dont j'ai besoin? Quelqu'un peut-il m'aider avec sampel code?
2) Quel est le meilleur moyen de parser un fichier xml pour obtenir des balises spécifiques?
Je suis nouvelle VB.net donc, tout exemple de code aide sera appréciée. Merci!
OriginalL'auteur user565992 | 2013-08-27
Vous devez vous connecter pour publier un commentaire.
Oui, vous êtes sur la bonne voie. La validation d'un document XML peut être réalisée à l'aide de
XmlDocument
ouXmlReader
(que je décrirai plus tard, vous pouvez également utiliserXDocument
). Celui que vous choisissez dépend de votre situation, mais ils fonctionnent de la même façon. Quand ils trouvent une erreur avec le document, ce qu'ils appellent unValidationEventHandler
délégué. LeXmlReader
appels via un événement dans leXmlReaderSettings
objet alors que laXmlDocument
des appels par l'intermédiaire d'un délégué du passé comme un paramètre à saValidate
méthode. Voici une classe simple qui peut être utilisé pour recueillir les erreurs:La
ValidationEventHandler
méthode dans cette classe correspond à la signature de laValidationEventHandler
délégué, de sorte que vous pouvez l'utiliser pour recueillir les erreurs dans leXmlReader
ou laXmlDocument
. Voici comment vous pouvez l'utiliser avec laXmlDocument
:Et voici comment vous pouvez l'utiliser avec la
XmlReader
:Alternativement, vous pouvez également utiliser la plus récente
XDocument
classe. La façon de le faire avecXDocument
est très similaire àXmlDocument
. Il y a unValidate
méthode d'extension pour leXDocument
qui prend, encore une fois, unValidationEventHandler
délégué. Voici un exemple:Que pour charger les données à partir du document XML dans une base de données, il est impossible de dire comment, précisément, à faire sans connaître le schéma du document XML, le schéma de la base de données, le type de base de données, etc. Je recommande de faire de la recherche, à la fois dans la lecture de données XML et l'écriture de données pour les bases de données et de voir jusqu'où vous obtenez. Si vous avez des questions lorsque vous rencontrez un problème, nous serons là pour vous aider 🙂
Steven Doggart - j'ai utilisé votre code comme ci-dessus et malheureusement j'ai rencontré un problème, veuillez voir stackoverflow.com/questions/33393364/...
OriginalL'auteur Steven Doggart