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

Bibliothèques et frameworks PHP Discussion :

[DOM] dom node value


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Autoentrepreuneur
    Inscrit en
    Mai 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autoentrepreuneur

    Informations forums :
    Inscription : Mai 2012
    Messages : 50
    Points : 37
    Points
    37
    Par défaut [DOM] dom node value
    Bonjour a tous,

    je lis un document xml et recupére un domnodelist. et quand j'essaye de l'afficher, j'ai le nom le prix et la description qui apparait hors je ne veut que le nom..... est ce que quelqu'un a une solution? voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    foreach($sscateg as $sscat){
    $p=$sscat->getElementsByTagName("produit");
    echo "<pre>";
    print_r($p->nodeValue);
    echo "</pre>";
    }
    et ce quil affiche... :
    OResto Photo
    94.72
    Pour le restaurateur equipé de Bar Restau v Pro. Utilitaire permettant la prise de photos des plats avec un iPhone et integration dans la base article.
    et je ne veut que le OResto Photo..... merci d'avance!

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    je ne veut que le OResto Photo...


    Plus sérieusement, ton XML, il ressemble à quoi ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Autoentrepreuneur
    Inscrit en
    Mai 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autoentrepreuneur

    Informations forums :
    Inscription : Mai 2012
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    ca ressemble a ca:
    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <data>
    <carte>
    <categ id="4" nom="PLAT" image="PLAT">
    <sscateg id="2" nom="RESTAU">
    <nom>RESTAU</nom>
    <produit nom="OResto Photo" id="272" photo_available="0" prix="94.72">
    <nom>OResto Photo</nom>
    <prix>94.72</prix>
    <description>Pour le restaurateur equipé de Bar Restau v Pro. Utilitaire permettant la prise de photos des plats avec un iPhone et integration dans la base article.</description>
    </produit>
    <produit nom="Upgrade HB vs Cloud" id="280" photo_available="0" prix="468.83">
    <nom>Upgrade HB vs Cloud</nom>
    <prix>468.83</prix>
    </produit>
    <produit nom="Upg Pste. Sup vs Cloud Rest" id="286" photo_available="0" prix="468.83">
    <nom>Upg Pste. Sup vs Cloud Rest</nom>
    <prix>468.83</prix>
    </produit>
    <produit nom="Licence Orchestra Cloud Bar-Rest-Brasserie" id="200" photo_available="0" prix="755.87">
    <nom>Licence Orchestra Cloud Bar-Rest-Brasserie</nom>
    <prix>755.87</prix>
    </produit>
    </sscateg>
    </categ>
    </carte>
    </data>

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Autoentrepreuneur
    Inscrit en
    Mai 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autoentrepreuneur

    Informations forums :
    Inscription : Mai 2012
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    J'ai deja essaye j'ai meme essaye pas mal de trucs... mais rien ne marche avec un getAttribute("nom"); il me retourne l'erreur

    Fatal error: Call to undefined method DOMNodeList::getAttribute() in

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    C'est normal, comme l'indiquent le s de getElementsByTagName et la doc, cette méthode renvoie une DOMNodeList ! Il faut donc préciser l'élément précis sur lequel tu veux récupérer l'attribut : DOMNodelist::item.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Autoentrepreuneur
    Inscrit en
    Mai 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autoentrepreuneur

    Informations forums :
    Inscription : Mai 2012
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    mais comment preciser l'element? je ne le fais pas deja avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $prodname=$pname->getAttribute("nom");

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Heu... à part t'envoyer mes mains par e-mail pour écrire ton code, je ne vois pas comment je peux t'aider plus que dans mon message précédent...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    C'est fait comme ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    foreach($sscateg as $sscat){
        $plist=$sscat->getElementsByTagName("produit");
        foreach($plist as $p) {
            echo "<pre>";
            echo($p->getAttribute("nom"));
            echo "</pre>";
        }
    }
    Mais le problème à mon sens assez grave est la conception/design du xml ou les données de l'attribut nom de produit sont répétées dans les enfants nom de produit. C'est d'abord un gaspillage d'effort mais même ça c'est mineur: le plus grave c'est il faut synchonizer les deux chaque fois les données doivent être changées et ça pose un grand problème de maintenir le document.

    Pous utiliser l'enfant mentionée au lieu de l'attribut, vous pouvez faire ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    foreach($sscateg as $sscat){
        $plist=$sscat->getElementsByTagName("produit");
        foreach($plist as $p) {
            echo "<pre>";
            echo($p->getElementsByTagName("nom")->item(0)->nodeValue);
            echo "</pre>";
        }
    }
    Voila, vous avez tout.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Autoentrepreuneur
    Inscrit en
    Mai 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autoentrepreuneur

    Informations forums :
    Inscription : Mai 2012
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    salut tsuji je te remercie de ta réponse elle m'a bien aidé!!! mais oui le fichier xml est vraiment mal fais le seul problème c'est que c'est un fichier envoyé par un web service d'un logiciel et impossible a modifier de l’intérieur donc je dois me débrouiller avec ce que j'ai... merci a toi aussi bovino!!!

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

Discussions similaires

  1. [DOM XML] Value du premier <a>
    Par Lekno dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 27/10/2013, 13h15
  2. DOM : node et attributes
    Par r83 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/10/2009, 15h56
  3. [Dojo] Récupèrer le dom node de l'element selectionné dans le tree dojo
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 06/07/2009, 20h08
  4. [DOM] innerHTML value input firefox
    Par Teufboy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/08/2007, 10h07
  5. [DOM][nodes]Petit problème de syntaxe..
    Par GDVL dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/09/2005, 12h24

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