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

Composants VCL Delphi Discussion :

TXMLDocument et DOM


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Par défaut TXMLDocument et DOM
    Bonjour, j'ai un petit problème, et je comprend pas la cause du bug...

    Sur une fiche, j'ai un XmlDocument. Sur ce fichier XML, je fais des requêtes Xpath. Le problème, c'est que le noeud est bien sélectionné, mais je ne sais pas lire la valeur du noeud !

    Voici mon bout de code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <root>
        <AAA>
            <BBB>
                <CCC>3</CCC>
            </BBB>
        </AAA>
    </root>
    Je fais ma recherche ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var
      node: IDOMNode;
    begin
      node := (XmlDocument1.DOMDocument as IDOMNodeSelect).SelectNode('//CCC');
      showMessage(node.nodeValue);
    end;
    Normallement, le message doit me montrer 3, mais il n'affiche rien....

    Que dois-je faire ?

  2. #2
    Membre Expert
    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
    Par défaut
    Salut !

    Je ne sais pas si tu as trouvé, mais tu peux faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var
      node: IDOMNode;
    begin
      node := (XmlDocument1.DOMDocument as IDOMNodeSelect).SelectNode('//CCC');
      node := node.childNodes.item[0];
      showMessage(node.nodeValue);
    end;
    Ceci s'explique grâce à l'aide DELPHI :
    IDOMNode identifie les noeuds enfant de manière légèrement différente que l'interface IXMLNode.Lors de l'utilisation DOM,les valeurs de nombreux noeuds sont traités comme des noeuds enfant distincts,tandis qu'avec IXMLNode,les deux sont fusionnés.Par exemple,soit le fragment suivant d'un document XML*:

    <Time>8:00 pm est</Time>

    DOM analyse cette chaîne comme deux noeuds*:le noeud <Time>(un noeud d'élément)et un seul noeud enfant du noeud <Time>(noeud texte avec la valeur '8:00 pm est').IXMLNode traite cette chaîne comme un seul noeud portant de nom 'Time'et de valeur '8:00 pm est'.
    Voilà !

    En espérant t'avoir aidé, j'ai vu que tu as posté dans différents forum...

    Noisette

  3. #3
    Membre expérimenté

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Par défaut
    Merci, mais en fait, j'ai trouvé, et j'ai complètement oublié de le signaler

    En réalité, dans la requête Xpath, il faut ajouter "/text()"
    Ca renvoie le noeud texte, donc la valeur du noeud sélectionné. Ce qui m'a gêné un peu, c'est qu'en Java, l'attribut text() n'est pas nécessaire.

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

Discussions similaires

  1. Error DOM avec TXMLDocument
    Par engrobel dans le forum C++Builder
    Réponses: 1
    Dernier message: 11/05/2009, 18h58
  2. XML DOM et gros fichiers
    Par Manu_Just dans le forum APIs
    Réponses: 4
    Dernier message: 28/03/2003, 10h50
  3. [DOM/SAX]Choix...
    Par miss8 dans le forum APIs
    Réponses: 4
    Dernier message: 17/03/2003, 19h37
  4. pb formatage document XML généré par un dom tree
    Par lionel69 dans le forum APIs
    Réponses: 11
    Dernier message: 17/10/2002, 10h53
  5. Réponses: 3
    Dernier message: 04/09/2002, 10h42

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