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

Dotnet Discussion :

Sérialiser fichier XML


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 16
    Par défaut Sérialiser fichier XML
    Bonjour j'ai un gros problème je commence tous juste en XML avec C# voici ce que j'ai fait:

    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
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml.Linq;
    using System.Xml.Serialization;
     
     
     
    namespace xml
    {
     
        namespace Xml2CSharp
        {
     
     
            [XmlRoot(ElementName = "BARCODES")]
            public class BARCODES
            {
     
     
                [XmlElement(ElementName = "BARCODE")]
                public List<string> BARCODE { get; set; }
            };
     
            [XmlRoot(ElementName = "SORTED")]
            public class SORTED
            {
                [XmlElement(ElementName = "SORT_NUMBER")]
                public string SORT_NUMBER { get; set; }
                [XmlElement(ElementName = "HEIGHT")]
                public string HEIGHT { get; set; }
                [XmlElement(ElementName = "LOGICAL_SORTING")]
                public string LOGICAL_SORTING { get; set; }
            };
     
            [XmlRoot(ElementName = "CONTAINER")]
            public class CONTAINER
            {
                [XmlElement(ElementName = "BARCODES")]
                public BARCODES BARCODES { get; set; }
                [XmlElement(ElementName = "SORTED")]
                public SORTED SORTED { get; set; }
                [XmlAttribute(AttributeName = "containerId")]
                public string ContainerId { get; set; }
                [XmlAttribute(AttributeName = "site")]
                public string Site { get; set; }
                [XmlAttribute(AttributeName = "siteNum")]
                public string SiteNum { get; set; }
                [XmlAttribute(AttributeName = "status")]
                public string Status { get; set; }
                [XmlAttribute(AttributeName = "containerType")]
                public string ContainerType { get; set; }
                [XmlAttribute(AttributeName = "wmsContainerId")]
                public string WmsContainerId { get; set; }
            };
     
            [XmlRoot(ElementName = "CONTAINER_REPORT")]
            public class CONTAINER_REPORT
            {
                [XmlElement(ElementName = "CONTAINER")]
                public CONTAINER CONTAINER { get; set; }
                [XmlAttribute(AttributeName = "reportId")]
                public string ReportId { get; set; }
                [XmlAttribute(AttributeName = "date")]
                public string Date { get; set; }
            };
     
            [XmlRoot(ElementName = "WCS")]
            public class WCS
            {
                [XmlElement(ElementName = "CONTAINER_REPORT")]
                public CONTAINER_REPORT CONTAINER_REPORT { get; set; }
                [XmlAttribute(AttributeName = "reference")]
                public string Reference { get; set; }
     
     
     
                internal static void Save(string p)
                {
                    throw new NotImplementedException();
                }
            };
     
        }
     
     
     
     
     
    }
    le code au dessus c'est ce que je veut sérialiser.


    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    using System.IO;
    using System.Xml;
    using System.Xml.Serialization;
     
     
     
    namespace ConsoleApplication4
    {
        public class Program
        {
            static void Main(string[] args)
            {
                string readText = "<myxml></myxml>";
                //récuperer fichier xml 
                //passer de XML à un objet 
                xml.Xml2CSharp.WCS toto = new xml.Xml2CSharp.WCS();
                string path = @"C:\Users\beils\Desktop\test\data.xml";
     
     
     
                // This text is added only once to the file.
                if (!File.Exists(path))
                {
                    readText = File.ReadAllText(path);
                }
     
                // Open the file to read from.           
                XmlDocument xdoc = new XmlDocument();
                xdoc.LoadXml(readText);
                // If xml coming via some other datasource, create a corresponding reader
     
                XmlSerializer xs = new XmlSerializer(typeof(xml.Xml2CSharp.WCS));
     
                using (StreamWriter wr = new StreamWriter(@"C:\Users\beils\Desktop\test\test.xml"))
     
                {
                    xs.Serialize(wr, toto);
                }
     
     
     
            }
     
     
     
     
        }
    }
    Sa c'est le code que j'ai utiliser.



    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="utf-8"?>
    <WCS xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
    Voici se que j'obtient sur google.

    J'aimerais arriver à sérialiser:
    BARCODES, SORTED, CONTAINER, CONTAINER_REPORT et WCS mais je n'arrive pas a trouver comment j'ai rechercher sur des forums mais je n'est jamais trouver le bon code,
    et puis aussi je pense qu'il faut que je me m'améliore en recherche.
    Je ne vois pas ou est mon erreur.

    Merci d'avance.
    Cordialement lejeunedefrance

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 16
    Par défaut petite info
    J'ai oublier de d'écrire que si actuellement il n'y a pas de BARCODES, CONTAINER etc sauf WCS c'est que j'essayais d'afficher en XML déja une class.
    Voila pourquoi il n'y a que WCS dans le code.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    Décembre 2014
    Messages
    457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 457
    Par défaut
    salut salut

    A vue de nez si je ne dis pas de bêtise, ton constructeur WCS n'initialise pas CONTAINER_REPORT , reference, de mémoire si tu passes par un serializer qui utilise des décorateurs si c'est à null il n'inscrit rien.
    (vu que tu n'as rien mis il utilise un constructeur vide qui fait le minimum).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] sérialiser plusieurs fois dans le même fichier XML (VB.NET)
    Par anissa2 dans le forum Développement Windows
    Réponses: 1
    Dernier message: 02/01/2013, 15h02
  2. Sérialisation et désérialisation de fichier XML en objet
    Par marooned dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 01/08/2012, 10h55
  3. [DOM] Comment Sérialiser un document en fichier xml?
    Par zemzoum89 dans le forum Format d'échange (XML, JSON...)
    Réponses: 20
    Dernier message: 08/10/2010, 00h05
  4. Sérialisation xml : fichier xml vide
    Par casafa dans le forum C#
    Réponses: 1
    Dernier message: 25/04/2007, 15h13
  5. Balises HTML dans un fichier XML
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 04/09/2002, 15h29

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