Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Inscrit en
    décembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 8
    Points : 2
    Points
    2

    Par défaut [C#] insérer une variable entre deux balises? avec System.Xml

    Bonjour,j'ai crée un fichier xml avec la librairie System.Xml de microsoft:
    .Dans ce fichier,je dois inserer des variables entre les balises.j'aimerai savoir si c'est possible car je peux inserer des valeurs:




    code:
    #using <
    Code :
    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
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    mscorlib.dll>
    #pragma once
    #pragma managed
    #include "stdafx.h"
    #using <System.Xml.dll>
    #using <mscorlib.dll>
    #include <iostream>
    #include <string>
    #include <stdio.h>
    #include <stdlib.h>
    using namespace System;
    using namespace System::IO;
    using namespace System::Xml;
     
     
     
     
     
    int main()
    {
     
        XmlDocument^ doc = gcnew XmlDocument();
        doc->LoadXml("<coordonne genre='novel' ISBN='1-861001-57-5'>" 
                    // "<title>Pride And Prejudice</title>" 
                     "</coordonne>");
     
     
     //Create a new node ant add the node to the document//
        XmlNode^ root = doc->DocumentElement;
     
        XmlElement^ elem0 = doc->CreateElement("XA");
        elem0->InnerText="0";
     
    	root->InsertAfter(elem0, root->FirstChild);
     
        XmlElement^ elem1 = doc->CreateElement("YA");
        elem1->InnerText=" 2 ";
    	root->InsertAfter(elem1,elem0);
     
    	XmlElement^ elem2 = doc->CreateElement("XB");
        elem2->InnerText=" 3 ";
        root->InsertAfter(elem2,elem1);
     
    	XmlElement^ elem3 = doc->CreateElement("YB");
        elem3->InnerText=" 4 ";
    	root->InsertAfter(elem3,elem2);
     
    	XmlElement^ elem4 = doc->CreateElement("XC");
        elem4->InnerText=" 5 ";
    	root->InsertAfter(elem4,elem3);
     
    	XmlElement^ elem5 = doc->CreateElement("YC");
        elem5->InnerText=" 6 ";
    	root->InsertAfter(elem5,elem4);
     
    	XmlElement^ elem6 = doc->CreateElement("XD");
        elem6->InnerText=" 7 ";
    	root->InsertAfter(elem6,elem5);
     
    	XmlElement^ elem7 = doc->CreateElement("YD");
        elem7->InnerText=" 8 ";
    	root->InsertAfter(elem7,elem6);
     
    	XmlElement^ elem8 = doc->CreateElement("Centre_x");
        elem8->InnerText=" 9 ";
    	root->InsertAfter(elem8,elem7);
     
    	XmlElement^ elem9 = doc->CreateElement("Centre_y");
        elem9->InnerText=" 10 ";
    	root->InsertAfter(elem9,elem8);
     
    	XmlElement^ elem10 = doc->CreateElement("X1");
        elem10->InnerText=" 19.";
    	root->InsertAfter(elem10,elem9);
     
    	XmlElement^ elem11 = doc->CreateElement("Y1");
        elem11->InnerText=" 11 ";
    	root->InsertAfter(elem11,elem10);
     
    	XmlElement^ elem12 = doc->CreateElement("X2");
        elem12->InnerText=" 12 ";
    	root->InsertAfter(elem12,elem11);
     
    	XmlElement^ elem13 = doc->CreateElement("Y2");
        elem13->InnerText=" 13 ";
    	root->InsertAfter(elem13,elem12);
     
    	XmlElement^ elem14 = doc->CreateElement("X3");
        elem14->InnerText=" 14 ";
    	root->InsertAfter(elem14,elem13);
     
    	XmlElement^ elem15 = doc->CreateElement("Y3");
        elem15->InnerText=" j ";
    	root->InsertAfter(elem15,elem14);
     
    	//XmlElement^ elem16 = doc->CreateElement("Nbr_point");
        //elem15->InnerText="total_point";
    	//root->InsertAfter(elem16,elem15);
        //Add the node to the document.
       // root->InsertAfter(elem, root->FirstChild);
     
     
     
        Console::WriteLine("Display the modified XML...");
        doc->Save(Console::Out);
      doc->Save("C:\\Users\\Desktop\\XML.txt"); 
     
    }
    fichier xml crée:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <coordonne genre="novel" ISBN="1-861001-57-5">
      <XA>1</XA>
      <YA> 2 </YA>
      <XB> 3 </XB>
      <YB> 4 </YB>
      <XC> 5 </XC>
      <YC> 6 </YC>
      <XD> 7 </XD>
      <YD> 8 </YD>
      <Centre_x> 9 </Centre_x>
      <Centre_y> 10 </Centre_y>
      <X1> 19.</X1>
      <Y1> 11 </Y1>
      <X2> 12 </X2>
      <Y2> 13 </Y2>
      <X3> 14 </X3>
      <Y3> j </Y3>
    </coordonne>
    Seulement voilà avec la fonction InnerText,je ne peux pas inserer des variables.,donc j'aimerai savoir s'il exist une fonction qui permet d'inserer des variables entre les balises .

  2. #2
    Modérateur

    Inscrit en
    septembre 2004
    Messages
    9 858
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 9 858
    Points : 16 319
    Points
    16 319

    Par défaut

    ?

    Code :
    1
    2
    string zero = "0";
    elem0->InnerText = zero;
    Quel est le problème ?

  3. #3
    Invité de passage
    Inscrit en
    décembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 8
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par thelvin Voir le message
    ?

    Code :
    1
    2
    string zero = "0";
    elem0->InnerText = zero;
    Quel est le problème ?

    merci pour la réponse,au fait j'aimerai à la place de zero (elem0->InnerText =Zer0) avoir une variable .par exemple lorsque je déclare i=20,la fonction InnerText ne me permet pas d'afficher la valeur de i (elem0->InnerText="i"),donc j'aimerai s'il existe une autre moyen d'afficher la valeur de i ?

  4. #4
    Modérateur

    Inscrit en
    septembre 2004
    Messages
    9 858
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 9 858
    Points : 16 319
    Points
    16 319

    Par défaut

    C'est une question C#, pas une question XML. En gros tu te demandes comment transformer i en string. Je n'en sais rien, je connais pas C#.

    A priori je pense que ceci marcherait :

    Code :
    elem0->InnerText= "" + i;

  5. #5
    Invité de passage
    Inscrit en
    décembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 8
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par thelvin Voir le message
    C'est une question C#, pas une question XML. En gros tu te demandes comment transformer i en string. Je n'en sais rien, je connais pas C#.

    A priori je pense que ceci marcherait :

    Code :
    elem0->InnerText= "" + i;
    Oui tu as raison ,c'est un probléme de C# ,je vais voir demain au boulot.merci pour le tuyau

  6. #6
    Invité de passage
    Inscrit en
    décembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 8
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par isocobras Voir le message
    Oui tu as raison ,c'est un probléme de C# ,je vais voir demain au boulot.merci pour le tuyau

    ça marche avec :elem0->InnerText="" +i;merci pour tout

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •