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++Builder Discussion :

[BCB 6] Classe création, modification de fichier … XML


Sujet :

C++Builder

Vue hybride

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 62
    Par défaut [BCB 6] Classe création, modification de fichier … XML
    Bonjour tout le monde.
    Cela fait un trop long moment que je n’avais eu de projet au niveau C++. Enfin nous y voila, je reprends cette partie, que j’avais un peu laissé de côtés.

    J’aimerais faire un programme de création de fichier et de modification de fichier de type XML. Je sais que l’on peut employer DOMXML et ses subtilités. Toutefois je suis en train de me poser la question de faire une classe perso permettant d’être plus proche de ce que je veux faire.

    Avant tout codage, toute portion de code complexe, j’aimerais savoir, déjà si le fait de faire une classe simplifierais au final mes programmes futurs ou pas ?
    Si elle les simplifie, par quel bout commencer pour faire une classe ?
    Et si je tente de faire une classe personnelle, peut t on me fournir un peu d’aide et des exemples affin que je progresse un petit peu… !

    Je vous remercie de vos réponses.
    Amitiés.

  2. #2
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut,
    Personellement je travail peu avec des classes de ma création. Mais tu peux faire tes modifications directement de la manière dont tu souhaites: un fichier XML est un fichier contenant du texte. Il peut donc être chargé comme n'importe quel fichier texte.
    Ensuite, tu peux le charger dans un Memo pour le voir et faire des modif automatique dessus.
    Genre, tu inclus des balises en plus, ou tu en enlèves (je ne connais pas le code XML). Tout dépend du type de modification et de l'empleur de la tâche que tu souhaites exécuter.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 62
    Par défaut
    Bonjour,

    Jusqu’ici, à part le système TXmlDocument, je ne voie pas. Mais si on peut faire comme un TXT et traité comme XML, la cela change tout !

    Remarque, je vais quand même me penché sur cette fonction TXmlDocument avant de faire un choix définitif.
    Merci beaucoup pour votre réponse.
    Amitiés.

  4. #4
    Membre confirmé Avatar de bhahmed
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Par défaut
    bonsoir,
    pour créer un fichier XML voici la marche à suivre :
    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
     
    configXml = new TXMLDocument("");
    Form1->XMLDocument1->Active = true;
    configXml->Active = true;
    configXml->DocumentElement = configXml->CreateElement("Racine", "");
    // créer la racine
    _di_IXMLNode node = configXml->DocumentElement->AddChild ("Noeud","");
    // créer le 1er noued
    node->AddChild("Sous noeud")->SetText("text");
    //créer le sous noued
     
    configXml->SaveToFile("\\configXml.xml");
     
    configXml->XML->Clear();
    configXml->Active = false;

    Pour la lecture du XML
    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
     
    di_IXMLNode Racine = configXml[k]->DocumentElement;
    // lire la racine
    int NbN = Racine->ChildNodes->GetCount() ;
    // compter le nombre de noeud sous la racine
    _di_IXMLNode Noeud = Racine->ChildNodes->First();
    // Se positionner sur le 1er noeud
     int NbSN = Noeud->ChildNodes->GetCount();
    //compter le nombre de sous noeud sous le noeud
     _di_IXMLNode SSNoeud = Noeud->ChildNodes->First();
    // Se positionner sur le 1er sous noeud
     SSNoeud = SSNoeud->NextSibling();
    // passer au sous noeud suivant
     Noeud = Noeud->NextSibling();
    // passer au  noeud suivant
    Pour la lecture de tout le fichier tu utilise la boucle for comme suit par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    for (int j =0; j<NbN; j++)
    {
            int NbSN = Noeud->ChildNodes->GetCount();
            _di_IXMLNode SSNoeud = Noeud->ChildNodes->First();
                for (int l =0; l<NbSN; l++)
            {       Form1->ListBox1->Items->Add(SSNoeud->GetText() );
                    SSNoeud = SSNoeud->NextSibling();
            }
                 Noeud = Noeud->NextSibling();
     
    }

Discussions similaires

  1. Modification de fichier XML avec XSLT
    Par osmoz dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 13/07/2005, 11h04
  2. Création d'un fichier XML
    Par fantasio31 dans le forum Général Python
    Réponses: 2
    Dernier message: 09/09/2004, 17h06
  3. [XML] Création d'un fichier XML
    Par TheDarkLewis dans le forum Langage
    Réponses: 6
    Dernier message: 24/07/2004, 18h27
  4. ligne d'entête création d'un fichier XML
    Par cduterme dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 23/02/2004, 15h30

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