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 XML] Edition d'un fichier XML


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 811
    Par défaut [DOM XML] Edition d'un fichier XML
    Bonjour,
    Avec
    PHP Version 4.4.3-dev,
    DOM/XML API Version 20020815,
    libxml Version 20622,
    libxslt Version 1.1.15,
    libxslt compiled against libxml Version 2.6.22

    Je voulais développer une application de façon à créer un sitemap.xml pour google.
    Les informations sont récupérées à partir d'une base MySQL.

    Aucun problème à la création, j'obtiens un fichier structuré de la sorte :

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
      <url>
        <loc>http://www.minsite.com/one.html</loc>
        <news:news>
          <news:publication_date>2001-08-01</news:publication_date>
        </news:news>
      </url>
      <url>
        <loc>http://www.minsite.com/deux.html</loc>
        <news:news>
          <news:publication_date>2001-08-02</news:publication_date>
        </news:news>
      </url>
    </urlset>
    Ensuite pour ajouter un élément, j'ai deux choix :
    1- Recréer mon fichier xml.
    2- Editer ce fichier.

    Donc avec la première option, sans problème mais ceci impliques consultation MySQL et je voudrais l'éviter, surtout s'il y a beaucoup d'enregistrements.
    Mais si j'optes pour la seconde option, j'obtiens un fichier de la sorte :

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
      <url>
        <loc>http://www.minsite.com/one.html</loc>
        <news:news>
          <news:publication_date>2001-08-01</news:publication_date>
        </news:news>
      </url>
      <url>
        <loc>http://www.minsite.com/deux.html</loc>
        <news:news>
          <news:publication_date>2001-08-02</news:publication_date>
        </news:news>
      </url>
    <url><loc>http://www.minsite.com/trois.html</loc><news:news><news:publication_date>2001-08-02</news:publication_date></news:news></url></urlset>
    Vous remarquerez que la dernière ligne n'est pas indentée. Et ainsi de suite si je veux ajouter d'autres éléments, la dernière ligne n'est pas indentée après édition.
    A savoir que pour l'édition je ne fais qu'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dom = domxml_open_file("sitemap.xml");
    suivi de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $root = $dom->document_element();
    Le reste du script est analogue à la création.
    Un conseil ?

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Réponse dans la FAQ : Comment formater un document XML pour affichage ?. Il doit sans doute vous manquez l'option DOMXML_LOAD_DONT_KEEP_BLANKS au niveau du deuxième paramètre facultatif des options domxml_open_*.

  3. #3
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 811
    Par défaut
    Merci, Que dire de plus?

    Que Dieu nous aide à apprendre plus...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/12/2008, 13h38
  2. Réponses: 1
    Dernier message: 22/04/2008, 11h24
  3. Réponses: 3
    Dernier message: 06/08/2007, 03h44
  4. [DOM] (org.w3c.dom) copier un noeud d'un fichier XML dans un autre fichier XML
    Par snoop dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 13/02/2007, 17h22
  5. Importer le contenu un fichier xml dans un autre fichier xml
    Par gedeon555 dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 27/07/2005, 11h49

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