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 PHP Discussion :

application xml dom en php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Juin 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 42
    Par défaut application xml dom en php
    salut tout le monde
    j'essaie de faire une petite application en php5 tout en utilisant XMl(DOM) cette application porte sur la gestion d'une bibliotheque j'ai trouvé un probleme au niveau de la recherche des livres . je veux quand je tappe le nom d'un livre qu'il m'affiche ses proprités(auteur edition...) qui sont des balises dans un fichier XML .alors je sais pa comment faire et en plus j'ai trouvé une instruction c le next-sibling mais ca marche pas avec PHP5 si quelqu'un peut m'aider je serai tres reconnaisante et merci d'avance

  2. #2
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Il faut que tu poste un bout de ton code pour que quelqu'un puisse t'aider.

    J'ai bien dit un bout, si le code est trop long, cela à tendance à décourager.

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Juin 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 42
    Par défaut
    merci ben voila le code 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
    16
    17
    18
    19
    20
    21
    22
    23
    <bib>
    <book>
    	<author>
    	 Jean-Christophe Bernadac
    	</author>
    	<author>
    		Franc Knab 
    	</author>
    	<title>Construire une application XML</title>
    	<publisher>Eyrolles</publisher>
    	<year>1999</year>
    	<price> 450 </price>
    	</book>
    <book>
    	<author>
    		Alain Michard
    	</author>
    	<title>XML, Langage et Applications</title>
    	<publisher>Eyrolles</publisher>
    	<year>1998</year>
    	<price> 200 </price>
    </book>
    </bib>

    et mon code php

    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
    <?php
    $dom = new DomDocument;
      $dom->load("books.xml");
     
      $listtitle = $dom->getElementsByTagName('title');
     
      foreach($listtitle as $title)
       { 
       if (  $title->firstChild->nodeValue == $_POST['title'] )
    	{
    echo  $title->firstChild->nodeValue;
     
    echo $title->firstChild->nextsibling();
    	}
    else 
    { echo "oups";}
     
    	}
    ?>

    et merci

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    DOMNode::nextSibling est une propriété et non une méthode : http://fr2.php.net/manual/fr/class.d...ps.nextsibling
    Si tu veux afficher les éléments d'un livre donné il vaut mieux d'abord récupérer le <book> adéquat, typiquement avec une requête XPath telle //book[title='{$_POST['title']}'], ensuite tu pourras facilement la parcourir.
    http://fr2.php.net/manual/fr/class.domxpath.php

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Juin 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 42
    Par défaut
    je vous remercie enormement mais le probleme maintient toujours je sais pas comment utiliser l DOMXPATH si vous pouvez m'exliquer je suis une debutante et c'est mon premier code en dom php merci

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    C'est si gentiement demandé Je te donne un exemple fonctionnel illustrant la mise en oeuvre de DOM et XPath...

    books.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
    16
    17
    18
    <?xml version="1.0"?>
    <bib>
        <book>
            <author>Jean-Christophe Bernadac</author>
            <author>Franc Knab</author>
            <title>Construire une application XML</title>
            <publisher>Eyrolles</publisher>
            <year>1999</year>
            <price> 450 </price>
        </book>
        <book>
            <author>Alain Michard</author>
            <title>XML, Langage et Applications</title>
            <publisher>Eyrolles</publisher>
            <year>1998</year>
            <price> 200 </price>
        </book>
    </bib>
    test_dom.php

    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
    <?php
     
    // On veut afficher les infos de ce livre :
    $_POST['title'] = 'Construire une application XML' ;
     
    header('Content-Type: text/plain') ;
     
    $dom = new DOMDocument( ) ;
    $dom->load("books.xml") ;
     
    $xpath = new DOMXPath($dom) ;
    $books = $xpath->query("//book[title='{$_POST['title']}']") ;
     
    echo "Nombre de résultats : $books->length\r\n" ;
     
    foreach ( $books as $book ) {
        echo "===========================\r\n" ;
        echo 'Titre : ', $book->getElementsByTagName('title')->item(0)->nodeValue, "\r\n" ;
        $authors = array( ) ;
        foreach ( $book->getElementsByTagName('author') as $author ) {
            $authors[ ] = $author->nodeValue ;
        }
        echo 'Auteur(s) : ', implode(', ', $authors), "\r\n" ;
        echo 'Editeur : ', $book->getElementsByTagName('publisher')->item(0)->nodeValue, "\r\n" ;
        echo 'Année : ', $book->getElementsByTagName('year')->item(0)->nodeValue, "\r\n" ;
        echo 'Prix : ', $book->getElementsByTagName('price')->item(0)->nodeValue, "\r\n" ;
    }
     
    ?>
    Donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Nombre de résultats : 1
    ===========================
    Titre : Construire une application XML
    Auteur(s) : Jean-Christophe Bernadac, Franc Knab
    Editeur : Eyrolles
    Année : 1999
    Prix :  450
    Ici tu trouveras des exemples de requêtes XPath : http://zvon.org/xxl/XPathTutorial/Ou.../example1.html
    Doc de DOMNodeList (ce qui est retourné par DOMXPath::evaluate( ) et DOMNode::getElementsByTagName( )) : http://fr3.php.net/manual/fr/class.domnodelist.php

  7. #7
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 27
    Par défaut
    je veux ajouter un bloc(div) dans une zone(div) en utilisant drag and drop

  8. #8
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    @arasm. Bienvenue sur le Forum.
    Je trouve ton message par hasard. Pour avoir une réponse, je te conseil de créer un nouveau topic (dans la bonne rubrique) et avec un exemple de code

    Là, par exemple, il faudrait préciser un peu ta demande en déposant un exemple du code que tu as déjà réaliser (court si possible), qui met en évidence ta question.

    A+

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

Discussions similaires

  1. [DOM] Erreur sur chargement XML DOM en PHP
    Par samy4972 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 15/04/2013, 21h19
  2. [DOM] Ecrire dans mon XML avec du PHP
    Par PurpleDoll dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 15/10/2007, 14h06
  3. [DOM] XML : un code php à mettre en javascript
    Par Tertiath dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/09/2007, 14h46
  4. [DOM XML] Parse XML DOM avec PHP
    Par ®om dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 27/01/2007, 16h58
  5. [XSLT][DOM] Php - Xml - Xsl
    Par topolino dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 08/12/2005, 19h34

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