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 :

Gestion de fichiers xml par php


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Points : 45
    Points
    45
    Par défaut Gestion de fichiers xml par php
    Bonjour à tous,

    J'essaye d'afficher le nom de la racine xml, puis l'ensemble des titres du fichier, par une fonction php.

    Voici mon php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $dom= new domDocument('1.0', 'iso-8859-1');
    $dom->load('essai.xml');
    //$dom->validate();
     
    $racine=$dom->documentElemnt;
    echo $racine->nodeName;
    ?>
    Voici mon essai.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
    <!DOCTYPE livre SYSTEM "livre.dtd">
    	<livre titre="Annabac 2007">
    		<Chapitre titre="Maths">
    			<texte> Maths  Maths  Maths  Maths  Maths  Maths  Maths  Maths  Maths  Maths  Maths  Maths </texte>
    		</Chapitre>
    		<Chapitre titre="Physiques">
    			<texte> Physiques  Physiques  Physiques  Physiques  Physiques  Physiques  Physiques  Physiques  Physiques  Physiques  Physiques  Physiques </texte>
    		</Chapitre>
    		<Chapitre titre="SVT">
    			<texte> SVT  SVT  SVT  SVT  SVT  SVT  SVT  SVT  SVT </texte>
    		</Chapitre>
    	</livre>

    Et voici mon DTD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <!ELEMENT Chapitre ( texte ) >
    <!ATTLIST Chapitre titre NMTOKEN #REQUIRED >
     
    <!ELEMENT livre ( Chapitre+ ) >
    <!ATTLIST livre titre CDATA #REQUIRED >
     
    <!ELEMENT texte ( #PCDATA ) >

    Je l'ai fait en cours, cela marche très bien (nous sommes sous linux)

    Mais dès que je teste chez moi (c'est à dire : PC windows XP, seveur Free.)
    J'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning: domdocument() expects at least 1 parameter, 0 given in /mnt/124/free.fr/c/d/seb1395/xmltest/index.php on line 2
     
    Fatal error: Call to undefined function: load() in /mnt/124/free.fr/c/d/seb1395/xmltest/index.php on line 3

    Merci pour votre aide !!!
    Je suis sur que c'est encore une histoire de " " ".

    Bonne fin de soirée.

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    1. Ton serveur est bien sous PHP5 ?
    2. en remplaçant domDocument par DomDocument ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Points : 45
    Points
    45
    Par défaut
    Avec php info, j'ai ceci :
    PHP Version 4.4.3-dev

    Je suis sur un serveur Free.fr, on peut activé le php5?

    Merci pour votre réponse.

  4. #4
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par omman95
    Avec php info, j'ai ceci :
    PHP Version 4.4.3-dev

    Je suis sur un serveur Free.fr, on peut activé le php5?
    Aucune idée. Si tu es sous PHP4 tu ne pourras pas utiliser DOM, mais tu as peut-être DOMXML activé (à voir dans le phpinfo).

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Points : 45
    Points
    45
    Par défaut
    Php info m'indique PHP Version 4.4.3-dev
    domxml
    DOM/XML enabled
    DOM/XML API Version 20020815
    libxml Version 20616
    HTML Support enabled
    XPath Support enabled
    XPointer Support enabled
    DOM/XSLT enabled
    libxslt Version 1.1.12
    libxslt compiled against libxml Version 2.6.16

    merci de votre aide!

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par omman95
    Avec php info, j'ai ceci :
    PHP Version 4.4.3-dev

    Je suis sur un serveur Free.fr, on peut activé le php5?

    Merci pour votre réponse.
    A ma connaissance, il suffit de suffixer ton fichier par php5 au lieu de php pour être analysé par php5 sur Free.
    Tu peux aussi passer par un .htaccess. Fais une recherche pour trouver la syntaxe.

  7. #7
    Fabouney
    Invité(e)
    Par défaut
    bonjour,

    essayant déjà eu pas mal de problème de compatibilité avec les classe DOM et DOMxml, je peux affirmer que la classe DOM est compatible qu'avec php5.
    donc tu dois utiliser DOMxml, essay ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
    $dom = domxml_open_file('essai.xml');
    $racine = $dom->document_element();
    echo $racine->node_name;
    ?>
    et à l'inverse si tu veux créer un fichier xml et écrire la racine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //on crée la balise "racine" du document XML
    $dom = domxml_new_doc('1.0'); //1 seul parametre !!
    $racine = $dom->create_element('mobibase');
    $dom->append_child($racine);
    tient au courant
    Cordialement.

Discussions similaires

  1. Création ou modification d'un fichier XML par PHP
    Par kOrt3x dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 15/06/2009, 12h36
  2. [DOM] récupération de XML par PHP
    Par shingara dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 13/02/2006, 20h56
  3. [SAX] Erreur pour trouver la DTD d'un fichier XML parsé!
    Par gdawirs dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 14/01/2006, 15h28
  4. [DOM] Erreur lors du parsing d'un fichier XML par l'API DOM
    Par patricetoan dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 26/09/2005, 12h43
  5. [SimpleXML] Comment faire pour transformer un fichier XML en PHP ?
    Par magic8392 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/09/2005, 16h22

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