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

Linq Discussion :

Renvoie un objet désérializé sur base d'un xsd


Sujet :

Linq

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut Renvoie un objet désérializé sur base d'un xsd
    Bonjour,

    Je ne sais pas si je suis dans la bonne partie du forum pour mon problème mais voilà:

    Sur base d'un xml je crée un xsd via les tools de visual studio.

    Je transforme ensuite le xsd en .cs que je lie à mon projet.

    Mon programme lit des xml que je sérialise:

    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
    23
    24
     
     private static object GetXML(string Path)
            {
                try
                {
     
                    XmlSerializer deserialize = new XmlSerializer(typeof(Message));
     
                    using (Stream stream = new FileStream(Path, FileMode.Open, FileAccess.Read, FileShare.None))
                    {
     
                        return deserialize.Deserialize(stream);
     
                    }
     
                }
                catch (Exception ex)
                {
     
                    Util.GoLog("Problème dans la désérialization du fichier" + Path + "\n" + ex.ToString());
                    return null;
                }
     
            }
    Mon problème est que parfois je reçois un xml dont la structure est un peu différente de mon xsd ==> .cs

    Et j'obtiens l'erreur:
    [System.Xml.XmlException] = {"Types de noeud inattendu Element. La méthode ReadElementString ne peut être appelée que pour des éléments au contenu simple ou vide. Ligne 43, position 7."}


    Pcq à la place d'avoir
    <Telephones>
    </Telephones>

    J'ai
    <Telephone>
    <Tel>065651541</Tel>
    <Type>Maison</Type>
    </Telephone>

    Et donc ma serialization ne fonctionne pas.

    Ma question est comment forcer pour que ma serialization fonctionne sans régénérer un xsd ==> .cs à chaque nouvelle balise dans le xml

    D'avance merci

  2. #2
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 541
    Points
    10 541
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Peux-tu nous donner le XML Schéma correspondant ? Tes éléments Tel et Type ont ils l'attribut minOccurs="0" ?
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

Discussions similaires

  1. Mapper des objets métier sur une base existante (mais pas un simple mapping)
    Par NaBuCO dans le forum Persistance des données
    Réponses: 2
    Dernier message: 13/04/2012, 15h24
  2. Récuperer les droits sur objets de la base dorsal
    Par acama dans le forum Sécurité
    Réponses: 1
    Dernier message: 17/02/2011, 14h18
  3. Verifier droit utilisateur sur un objet de la base
    Par acama dans le forum Sécurité
    Réponses: 2
    Dernier message: 06/02/2011, 18h32
  4. [XSD] [XML Schemas] Valider un Objet sur base du schéma
    Par Invité dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 27/03/2009, 14h10
  5. [11.5.0] Objet date sur alpha dans ma base
    Par nabie dans le forum Designer
    Réponses: 2
    Dernier message: 14/10/2008, 09h00

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