2010-11-22 6 views
0

J'ai besoin d'aide pour valider un fichier XML simplement?Comment valider un fichier XML en C# 2.0

J'ai recherché et trouvé un tutoriel sur le développeur qui peut valider un fichier XML basé sur un fichier de schéma XSD existant (comme ci-dessous snppet).

Pour mon cas, je n'ai pas de fichier Xsd. Que puis-je faire? Dois-je générer un fichier Xsd avec un outil comme XSD.exe?

XmlReaderSettings settings = new XmlReaderSettings(); 
    settings.ValidationType = ValidationType.Schema; 
    settings.Schemas.Add("", "c:\mySchema.xsd"); 
    settings.ValidationEventHandler += new ValidationEventHandler(OnValidationError); 
    XmlReader reader = XmlReader.Create("", settings); 
    XPathDocument doc = new XPathDocument(reader); 
    XPathNavigator navigatore = doc.CreateNavigator(); 

En fait, la validation dont j'ai besoin est une utilisation très simple. Assurez-vous simplement que tous les éléments/sous-éléments internes du fichier xml sont associés. Je vais ouvrir et écrire mon XML, mais mon XML ne peut pas être écrit avec succès pour quelque raison que ce soit. Puis, quand je chargerai mon XML la prochaine fois, mon application lancera une exception. C'est pourquoi j'ai besoin de valider mon fichier xml avant de le charger.

Apprécié pour vos commentaires et suggestions.

+1

Même si vous auriez probablement faire encore bonne pour la validation du XML quand vous le lisez, vous ne seriez pas mieux si vous avez fixé la partie où elle ne écrire? –

Répondre

1

Si vous n'avez pas de xsd, vous devriez en créer un. Si vous essayez de valider une structure spécifique, c'est votre meilleure option.

Si vous souhaitez simplement vous assurer qu'un document est composé de XML valide, vous pouvez vous en passer, mais si vous vous souciez du schéma, vous devez créer une définition de schéma.

Vous pouvez écrire votre propre XSD ou utiliser n'importe quel nombre d'outils. Mon conseil est d'écrire le vôtre. Ce n'est pas difficile et ça vaut la peine de savoir comment faire.

Voici un lien pour vous aider à démarrer: http://www.w3schools.com/schema/default.asp

+0

Je voudrais créer mon fichier XSD. Je vous remercie. –

Questions connexes