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

Langage Delphi Discussion :

Gestion XML


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 16
    Points : 19
    Points
    19
    Par défaut Gestion XML
    bonjour

    bon voilà j'ai un petit souci, j'aimerais créer un petit prog pour gérer mes films et donc je me suis dit pourquoi pas me mettre au xml par la même occasion.

    Questions :
    Peux t'on avoir un fichier xml vide à la base ?
    Si oui est ce que ca ajoute ensuite ?

    Le code suivant ne marche pas :o

    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
     
    var
      Form1: TForm1;
      Film, Acteurs, Acteur: IXMLNode;
     
    procedure TForm1.btnAjoutFilmClick(Sender: TObject);
    begin
      if (Verif()) then
      begin
        XML.FileName := ExtractFileDir(Application.ExeName) + '\collec.xml';
        XML.Active := True;
        AjouteFilm();
        XML.SaveToFile(ExtractFileDir(Application.ExeName) + '\collec.xml');
        end;
    end;
    //----------------------------------------------------------------------------
    procedure TForm1.AjouteFilm();
    var
      i : integer;
    begin
      XML.DocumentElement := XML.CreateElement('Films','');
      Film := XML.DocumentElement.AddChild('Film');
      Film.Attributes['Titre'] := txtTitre.Text;
      Film.Attributes['Realisateur'] := txtRealisateur.Text;
      Film.Attributes['Annee'] := txtAnnee.Text;
      Film.Attributes['Genre'] := txtGenre.Text;
      Film.Attributes['Duree'] := txtDuree.Text;
      Film.Attributes['Resume'] := txtResume.Text;
      Film.Attributes['Image'] := ExtractFileName(Explorer.FileName);
      Acteurs := Film.AddChild('Acteurs');
      for i := 0 to lbxActeur.Items.Count -1 do
      begin
        Acteur := Acteurs.AddChild('Acteur');
        Acteur.Attributes['Nom'] := lbxActeur.Items[i];
      end;
    end;
    //----------------------------------------------------------------------------
    Hélas ce code ne marche pas ca aurait été trop beau ^^
    donc si vous aviez une idée ca m'arrangerait bcp
    Merci d'avance !

  2. #2
    Membre émérite
    Avatar de NoisetteProd
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1 905
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 905
    Points : 2 614
    Points
    2 614
    Par défaut
    Salut !

    Alors tout d'abord :
    Peux t'on avoir un fichier xml vide à la base ?
    Non, il faut au moins un élément de niveau supérieur comme dirais Delphi !

    Si oui est ce que ca ajoute ensuite ?
    Bon, c'est non, mais on peut ajouter par la suite si ton XML de base est ok.

    Alors, avec l'utilisation XMLDocument :

    création du XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    with XMLDocument1 do
            begin
              Active := True;
              Version := '1.0';
              Encoding := 'ISO-8859-1';
              AddChild('Collec');
              ....
              SaveToFile(IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'collec.xml');
              ....
    Ajout d'un élément :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    with XMLDocument1 do
             begin
               with ChildNodes['Collec'].ChildNodes do
               begin
                 Attributes['Titre'] := txtTitre.Text; 
                 Attributes['Realisateur'] := txtRealisateur.Text; 
                 ....
    Voila... j'epère que ces pistes vont t'aider...

    Noisette

    P.S. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XML.FileName := ExtractFileDir(Application.ExeName) + '\collec.xml';
    n'est pas super... il vaut mieux à mon gout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'collec.xml'
    extrait de l'aide DELPHI :
    Unité : SysUtils

    Syntaxe Delphi : functionIncludeTrailingPathDelimiter(constS:string):string;

    Description : IncludeTrailingPathDelimiter garantit qu'un chemin d'accès se termine par un délimiteur ('\'sous Windows,'/'sous Linux).Si S se termine déjàpar un délimiteur,il est renvoyétel quel*;sinon,il est renvoyéavec le délimiteur ajouté.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Merci ca fonctionne ! pour la création
    je vais voir pour l'ajout
    Mici ^^

  4. #4
    Membre émérite
    Avatar de NoisetteProd
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1 905
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 905
    Points : 2 614
    Points
    2 614
    Par défaut
    de rien

    Si tu as d'autres questions, hésites pas !

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

Discussions similaires

  1. Gestion XML multiple boucles
    Par Tengu dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 18/02/2013, 10h27
  2. Gestion xml complexe
    Par lennelei dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 15/02/2013, 14h03
  3. [DOM] pb gestion xml en php5
    Par arty29 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/04/2007, 19h53
  4. [Xml][Memoire] gestion du cache
    Par tatou42 dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 21/09/2005, 18h48
  5. Gestion de formulaire avec xml et sans serveur ?
    Par meliane dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 05/05/2004, 20h57

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