IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Comment valider en C# un fichier XML qui contient plusieurs XSD?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Par défaut Comment valider en C# un fichier XML qui contient plusieurs XSD?
    Bonjour,
    je me demande si quelqu'un peut m'aider pour trouver comment valider en C# un fichier XML qui contient plusieurs balises <DOCUMENT> et chaque balise DOCUMENT et attribué à un schéma différent.

    mon fichier XML a cette structure :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <ROOT>
      <HEADER>
        <TYPE_DOCUMENT>GHeaderType</TYPE_DOCUMENT>
        <SUBMISSION_FILENAME>filePath.xml</SUBMISSION_FILENAME>
      </HEADER>
     
      <DOCUMENT xmlns:attestation1 = "D:\TEST\XSD\attestation1.xsd">
        <TYPE>docType</TYPE>
        <DATA>
          <ID_EVENT>68701</ID_EVENT>
          <ID_CAMPAIGN>206</ID_CAMPAIGN>
          <ID_COLLABORATOR>164805</ID_COLLABORATOR>
          <DIRECTOR_COMPANY>TTTTTTTT</DIRECTOR_COMPANY>
          <NAME_COMPANY>COMPAGNY XXX</NAME_COMPANY>
          <ADRESS_1_COMPANY>rue PAris</ADRESS_1_COMPANY>
          <ADRESS_2_COMPANY>test</ADRESS_2_COMPANY>
          <ZIPCODE_COMPANY>93689</ZIPCODE_COMPANY>
          <CITY_COMPANY>PANTIN</CITY_COMPANY>
          <SIRET_COMPANY>732 069 380 001 43</SIRET_COMPANY>
          <FAX_COMPANY>01222222222</FAX_COMPANY>
          <DATE_END_CONTRAT>19/09/2009</DATE_END_CONTRAT>
        </DATA>
      </DOCUMENT>
     
      <DOCUMENT  xmlns:attestation2 = "D:\TEST\XSD\attestation2.xsd">
        <TYPE>docType</TYPE>
        <DATA>
          <ID_EVENT>68701</ID_EVENT>
          <ID_CAMPAIGN>206</ID_CAMPAIGN>
          <ID_COLLABORATOR>164805</ID_COLLABORATOR>
          <DATE_START_EVENT>18/09/2009</DATE_START_EVENT>
          <DATE_END_EVENT>19/09/2009</DATE_END_EVENT>
          <NAME_CUSTOMER>ZZZZZZZZZ</NAME_CUSTOMER>
          <COMMENTARY_EVENT />
          <NAME_CAMPAIGN> XXXX</NAME_CAMPAIGN>
        </DATA>
      </DOCUMENT>
     
      <DOCUMENT  xmlns:attestation3 = "D:\TEST\XSD\attestation3.xsd">
        <TYPE>docType</TYPE>
        <DATA>
          <ID_EVENT>68777</ID_EVENT>
          <ID_CAMPAIGN>141</ID_CAMPAIGN>
          <ID_COLLABORATOR>55555</ID_COLLABORATOR>
          <NAME_CAMPAIGN>YYYYYYYYYYY</NAME_CAMPAIGN>
        </DATA>
      </DOCUMENT>
     
    </ROOT>


    j'ai réussi à valider un fichier XML avec un seul schéma au départ mais plusieurs schémas dans le meme fichier XML non.

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 40
    Par défaut
    Pour valider un fichier Xml c'est assez facile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    XmlReaderSettings xmlReaderSettings = new XmlReaderSettings();
    xmlReaderSettings.CheckCharacters = true;
    xmlReaderSettings.CloseInput = true;
     
    xmlReaderSettings.Schemas.Add(null, "TonSchema.xsd");
    xmlReaderSettings.ValidationType = ValidationType.Schema;
    xmlReaderSettings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;
    xmlReaderSettings.ValidationEventHandler += new ValidationEventHandler(xmlReaderSettings_ValidationEventHandler);
     
    XmlSerializer serializer = new XmlSerializer(typeof(TonType));
    HttpPostedFile myFile = FileUpload.PostedFile;
     
    using (XmlReader xmlReader = XmlReader.Create(myFile.InputStream, xmlReaderSettings))
    {
    	if (xmlReader != null)
    	{
    		TonType data = (TonType)serializer.Deserialize(xmlReader);
     
    		xmlReader.Close();
     
    	}
    }
    alors tu n'as qu'à faire un autre Add sur ton validator pour ajouter un autre fichier de validation .xsd

Discussions similaires

  1. Comment downloader un fichier xml qui contient le text d'un InputTextArea ?
    Par Benusko dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 13/11/2014, 09h30
  2. Création d'un fichier xml qui contient la compilation de maven
    Par jockhip12 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 26/08/2011, 15h03
  3. Réponses: 0
    Dernier message: 24/08/2011, 13h53
  4. Réponses: 4
    Dernier message: 20/04/2011, 10h39
  5. Réponses: 4
    Dernier message: 23/06/2005, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo