[Résolu][C# & XML] Valider un fichier xml selon un schéma

Valider un fichier xml selon un schéma [Résolu][C# & XML] - C#/.NET managed - Programmation

Marsh Posté le 17-01-2006 à 13:32:51    

'lut
 
Voila le problème : je n'arrive pas à valider un doc xml selon un schéma. Voila  bout de code que j'utilise:

Code :
  1. //définit si le document xml est valide ou non suivant le schéma
  2.         public void isValid(string fichierXml)        {
  3.             XmlTextReader reader = new XmlTextReader(fichierXml);//le lecteur du fichier
  4.             XmlSchemaSet schemaSet = new XmlSchemaSet();//conteneur du schéma
  5.             schemaSet.Add(null, "D:\\PFE\\xmlManager1\\schema_transfert.xsd" );
  6.             //paramètres de validation
  7.             XmlReaderSettings settings = new XmlReaderSettings();
  8.             settings.ValidationType = ValidationType.Schema;
  9.             settings.Schemas = schemaSet;
  10.             settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
  11.             // Parse the file.  
  12.             while (reader.Read())
  13.             {}
  14.             reader.Close();
  15.         }
  16.         //CallBack appelée en cas d'erreur de validation du flux xml
  17.         private static void ValidationCallBack(object sender, ValidationEventArgs e)
  18.         {
  19.             Console.WriteLine("Validation Error: {0}", e.Message);
  20.         }


Le schéma est correct et se trouve bien au chemin indiqué, et le fichier xml existe bien lui aussi. Seulement quelque soit le fichier xml, même s'il n'a rien à voir avec le schéma en question, je n'ai aucun message d'erreur tant qu'il est bien formé. J'ai essayé plein de bidouilles sur les xmlns et autres, j'y arrive pas. Zavez pas une idée pour corriger ça ?
 
Voila le schéma
et un exemple de xml qui est bien formé mais pas valide (il manque l'élément <date> au début)


Message édité par Bleuarff le 17-01-2006 à 13:44:51

---------------
©2008 Bleuarff Corp.
Reply

Marsh Posté le 17-01-2006 à 13:32:51   

Reply

Marsh Posté le 17-01-2006 à 13:44:31    

Ahah, plus rapide que mon ombre, voila la solution :  le xmlreader n'était pas mis en relation avec l'obhet settings qui contient le schéma.
La solution sur http://msdn2.microsoft.com/en-us/library/as3tta56.aspx


---------------
©2008 Bleuarff Corp.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed