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

ASP.NET Discussion :

[ASP.NET / C#] Comment créer un datatable à partir d'un XML ?


Sujet :

ASP.NET

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [ASP.NET / C#] Comment créer un datatable à partir d'un XML ?
    Bonjour,
    Je débute avec ASP.NET et je bloque sur un point.
    Comment faire svp pour créer un datatable a partir d'un flux XML

    le flux XML est le suivant :
    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
    <participants>
    <participant id="1">
    <nom>NOM1</nom>
    <prenom>PRENOM1</prenom>
    <datenaissance>1978-01-11</datenaissance>
    </participant> 
    <participant id="2">
    <nom>NOM2</nom>
    <prenom>PRENOM2</prenom>
    <datenaissance>1979-11-11</datenaissance>
    </participant> 
    <participant id="3">
    <nom>NOM3</nom>
    <prenom>PRENOM3</prenom>
    <datenaissance>1980-12-14</datenaissance>
    </participant> 
    </participants>
    et pour la partie ASP.NET :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string strXMLPart = Request.Form["message"].ToString();
    DataTable datTablePart = new DataTable();
     
    //apres je sais pas comment renseigner l'XML et je ne sais pas comment parcourir le datatable.

    Merci bcp pour votre aide.

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Je pense que tu peux le faire en loadant ton XML dans un dataset et pas directement dans un datatable. Une fois ton dataset loadé, tu devrais trouver dans sa liste de datatables la table qui t'intéresse.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Je pense que tu peux le faire en loadant ton XML dans un dataset et pas directement dans un datatable. Une fois ton dataset loadé, tu devrais trouver dans sa liste de datatables la table qui t'intéresse.
    ok je te remercie
    En fait je n'ai pas besoin d'un dataset car la representation de mes données est la relativement simpliste.

    Pour le moment j'ai essayé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //        strXMLPart = "XML ... . .. . ...";
            DataTable datTablePart = new DataTable();
            datTablePart.ReadXml(new StringReader(strXMLPart));
            foreach (DataRow row in datTablePart.Rows)
            {
                travelInformation.IDENTITY_INFORMATION.FIRST_NAME = row["nom"].ToString();
                travelInformation.IDENTITY_INFORMATION.LAST_NAME = row["prenom"].ToString();
                travelInformation.IDENTITY_INFORMATION.DATEOFBIRTH = DateTime.Parse(row["datenaissance"].ToString());
     
            }
    Mais je ne sais pas encore si ca fonctionne
    (Pour info ce code va me permettre d'insérer des participants pour un projet Aerien avec AMADEUS)

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    En fait je viens de m'apercevoir que cela ne fonctionnait pas

    j'essaie maintenant de cette facon, et je n'y arrive tjrs pas.

    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
            string strXMLPart = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
            strXMLPart += "<participants>";
            strXMLPart += "<participant id=\"1\">";
            strXMLPart += "<nom>NOM1</nom>";
            strXMLPart += "<prenom>PRENOM1</prenom>";
            strXMLPart += "<datenaissance>1978-01-11</datenaissance>";
            strXMLPart += "</participant>";
            strXMLPart += "<participant id=\"2\">";
            strXMLPart += "<nom>NOM2</nom>";
            strXMLPart += "<prenom>PRENOM2</prenom>";
            strXMLPart += "<datenaissance>1979-11-11</datenaissance>";
            strXMLPart += "</participant> ";
            strXMLPart += "<participant id=\"3\">";
            strXMLPart += "<nom>NOM3</nom>";
            strXMLPart += "<prenom>PRENOM3</prenom>";
            strXMLPart += "<datenaissance>1980-12-14</datenaissance>";
            strXMLPart += "</participant>";
            strXMLPart += "</participants>";
           // Response.Write("strXMLPart : " + strXMLPart);
     
            //XmlTextReader reader = new XmlTextReader(new StringReader(strXMLPart));
            //DataTable datTablePart = new DataTable("TableName");
            //datTablePart.ReadXml(reader);
     
     
            DataSet dataSet = new DataSet();
            DataTable dataTable = new DataTable("participant");
     
            dataTable.Columns.Add("nom", typeof(string));
            dataTable.Columns.Add("prenom", typeof(string));
            dataTable.Columns.Add("datenaissance", typeof(DateTime));
     
            dataSet.Tables.Add(dataTable);
     
            StringReader xmlSR = new StringReader(strXMLPart);
     
            XmlTextReader xmlTextReader = new XmlTextReader(
     
            dataSet.ReadXml(xmlSR, XmlReadMode.IgnoreSchema);
     
           foreach (DataTable dataTable2 in dataSet.Tables)
            {
                foreach (DataRow row in dataTable2.Rows)
                {
                    Response.Write (row["nom"] + "<br>");
                    Response.Write(row["prenom"] + "<br>");
                    Response.Write(row["datenaissance"] + "<br>");
                }
            }
    Je comprends pas pourquoi cela ne fonctionne pas...
    A l'aide svp

Discussions similaires

  1. Comment créer des relances à partir d'1 table
    Par Rod_75 dans le forum Access
    Réponses: 9
    Dernier message: 01/03/2006, 15h42
  2. Réponses: 5
    Dernier message: 28/11/2005, 09h52
  3. [D7] [MySQL] comment créer 1 BDD à partir d'1 appli delphi7
    Par raoulmania dans le forum Bases de données
    Réponses: 7
    Dernier message: 16/11/2005, 18h26
  4. Comment créer un bitmap à partir d'un panel ?
    Par calou34 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 19/08/2003, 15h06

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