Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
816 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Analyse d'un fichier XML avec son schéma xsd

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Analyse d'un fichier XML avec son schéma xsd

n°1215709
Ghostdog_r​m
Posté le 05-10-2005 à 16:54:34  profilanswer
 

Bonjour,
J'ai un fichier XML et son schéma xsd. Je voudrai lire ce fichier et vérifier qu'il respecte bien le schéma xsd. S'il ya une erreur dans le fichier, je voudrai CLAIREMENT afficher ce qui ne va pas. J'ai ce code là :
 

Code :
  1. ..........
  2.         //Ouverture d'un flux vers le fichier XML
  3.         FileStream fs = new FileStream(p_filename, FileMode.Open);
  4.         XmlReader reader = new XmlTextReader(fs);
  5.         //Création de l'analyseur XML
  6.         xmlValidatingReader = new XmlValidatingReader(reader);
  7.         xmlValidatingReader.ValidationType = ValidationType.Schema;
  8.         XmlSchemaCollection sc = new XmlSchemaCollection();
  9.         //Récupération du chemin où se trouve le schéma xsd
  10.         string schemaPath = Spir.Commun.Technical.Tools.SysUtils.GetConfigFile(p_schemaname);
  11.         sc.Add(null,schemaPath);
  12.         //Ajout d'un capteur d'évènement si il y a une erreur de validation
  13.         xmlValidatingReader.ValidationEventHandler += new System.Xml.Schema.ValidationEventHandler(ValidationErrorCallback);
  14.         //Ajout du schéma sur lequel on va valider le fichier XML
  15.         xmlValidatingReader.Schemas.Add(sc);
  16.         //Lecture du fichier
  17.         while (xmlValidatingReader.Read())
  18.         {
  19.         }
  20.         xmlValidatingReader.Close();
  21.         ........
  22.         private void ValidationErrorCallback(object sender, ValidationEventArgs args)
  23.         {
  24.              throw new ApplicationException("Cause : Format du fichier XML invalide - Erreur : " + args.Message);
  25.         }


 
Le problème ici, est que j'affiche "args.Message", mais je voudrai qu'un utilisateur lambda puisse comprendre le message. Par exemple afficher : "Erreur à la ligne 17 : L'élément MonElement n'est pas valide. Il ne respecte pas le schéma xsd". Un message du genre. Est-ce que c'est facilement réalisable? Ou je ne pourrai pas avoir mieux que le message d'erreur provenant de ValidationEventArgs?
 
Merci par avance de vos réponses.

mood
Publicité
Posté le 05-10-2005 à 16:54:34  profilanswer
 

n°1218186
moi23372
Posté le 08-10-2005 à 09:34:37  profilanswer
 

avec SAX c'est possible...
Suffit de dériver de la classe DEFAULTHANDLER... Et de redéfinir les méthodes... (ça marche nikel en java)
Concernant xsd, jamais utilisé encore... mais regarde de ce coté la


Message édité par moi23372 le 08-10-2005 à 09:35:37

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Analyse d'un fichier XML avec son schéma xsd

 

Sujets relatifs
copier le contenu d'un fichier texte dans un fichier html[C#] Impression d'un fichier pdf
manupiler un fichier binaireFichier .bat et script d'exécution d'une page web
VBA : ouverture d'un fichier txt dont le nom change-POST RESOLUpasser un fichier excel en fichier ascii
fichier ayant un temps de validité comme une session..[Shell] lecture d'un fichier txt ligne par ligne
Comment sécuriser un download de fichier ?transcoder un fichier xml en utf-8
Plus de sujets relatifs à : Analyse d'un fichier XML avec son schéma xsd


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR