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 :

[Balise XML] Comment récupérer le contenu entre 2 balise?


Sujet :

C++Builder

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 37
    Points : 20
    Points
    20
    Par défaut [Balise XML] Comment récupérer le contenu entre 2 balise?
    Bonjour a tous!

    Voila je cherche a faire une traduction d'un soft grace a l'utilisaton d'un fichier XMl, j'ai trouve ceci sur le forum:
    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
     
    <LANGUES> 
       <!-- langue numero 1/4 : English (langue par defaut) --> 
       <!-- langue numero 2/4 : Français                    --> 
       <!-- langue numero 3/4 : Español                     --> 
       <!-- langue numero 4/4 : Deutsch                     --> 
       <objet> 
          <form>form_Init</form> 
          <objet>titre</objet> 
          <Langue_01>   Please login...</Langue_01> 
          <Langue_02>   Connectez-vous...</Langue_02> 
          <Langue_03>   Conectan...</Langue_03> 
          <Langue_04>   Verbinden Sie Sie...</Langue_04> 
       </objet> 
       <objet> 
          <form>form_Init</form> 
          <objet>Label_Login</objet> 
          <Langue_01>User :</Langue_01> 
          <Langue_02>Utilisateur :</Langue_02> 
          <Langue_03>Usuario :</Langue_03> 
          <Langue_04>Benutzer :</Langue_04> 
       </objet> 
    </LANGUES>
    C'est ce genre de fichier XML que j'aimerais creer, cependant le creer n'est pas le probleme, le probleme est de le lire! Je suis tout nouveau dans le milieu XML et j'aimerais juste savoir comment faire simplement la recuperation du contenu par exemple de la balise <Langue_01></Langue_01> qui est ici "User :"... voila j'ai recherche dans le forum, mais a part ce sujet, les autres ne m'ont guere eclairci sur mon probleme...

    Une fois ceci resolu je m'attarderai sur le but de creer ce fichier par un autre programme

    Merci beaucoup du petit coup de main que vou pourrez m'offrir!

  2. #2
    Membre régulier
    Avatar de bebeours
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 103
    Points : 123
    Points
    123
    Par défaut
    Utilise la classe TXMLDocument.

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 37
    Points : 20
    Points
    20
    Par défaut
    Oui c'est ce que j'avais compris mais pour dire vrai je n'arrive pas a l'utiliser... J'ai trouve quelque chose comme GETATTRIBUTE mais comment l'utiliser je ne comprend pas l'aide Builder.....
    J'ai aussi remarque le GetText... meme genre que GetAttribute?!?

    Pffff je ne sais pas par ou commencer...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 37
    Points : 20
    Points
    20
    Par défaut
    Apres de nombreux jours de lutte, voici mes "trouvailles!

    Voici un exemple de fichier xml qu'il faut que j'analyse:
    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
     
     
    <Langue>
    	<Noeud1>
    	<toto>hello world 1</toto>
    	</Noeud1>
     
    	<Noeud2>
    	<toto>hello world 2</toto>
     
    	    <SSNoeud1 Type='Francais'>
    			<Info Version='243'>
    	    </SSNoeud1>
     
    	</Noeud2>
    </Langue>
    J'ai obtenu le moyen d'aller lire les informations de premier niveau grace a l'aide builder:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    _di_IXMLNode Lecture= XMLDocument1->DocumentElement->ChildNodes->GetNode(1);
    AnsiString Donnee= Lecture->ChildNodes->Nodes[WideString("toto")]->Text;
    Application->MessageBox(Donnee.c_str(),NULL,MB_OK);
    Nous obtenons une boite de dialogue windows avec comme texte: "hello world 2"

    Mon probleme est de ne pas savoir lire les informations dans l'arborescence du "Noeud2" soit la donnee situe dans "Info" contenue dans le SSNoeud1. Je ne sais pas comment me deplacer dans la structure du fichier xml... comment puis-je penetrer a l'interieur des "sous-noueuds"?

    En esperant grandement une ame charitable pour ce soucis...

  5. #5
    Membre régulier
    Avatar de bebeours
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 103
    Points : 123
    Points
    123
    Par défaut
    Tu devrais y arriver comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    _di_IXMLNode Lecture= XMLDocument1->DocumentElement->ChildNodes->GetNode(1); 
    AnsiString Donnee= Lecture->ChildNodes->Nodes[WideString("SSNoeud1")]->ChildNodes->Get(0)->GetAttribute("Version"); 
    Application->MessageBox(Donnee.c_str(),NULL,MB_OK);

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 37
    Points : 20
    Points
    20
    Par défaut
    C'est parfait! Tout marche comme je l'entendais! Merci beaucoup a BebeOurs!

    Que la force polaire soit avec toi!

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

Discussions similaires

  1. Récupérer du contenu entre deux balises non encapsulantes
    Par PouetteMan dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 30/11/2011, 12h11
  2. Comment récupérer le nom d'une balise XML avec DOM ?
    Par Predatorus26 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 28/05/2010, 15h54
  3. Réponses: 1
    Dernier message: 03/01/2010, 19h17
  4. [AJAX] Comment récupérer le contenu d'une balise
    Par MicaelFelix dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/01/2007, 04h08
  5. [SAX] Comment récupérer un String entre deux balise xml?
    Par L4BiN dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 23/06/2006, 09h02

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