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 :
Ensuite pour ajouter un élément, j'ai deux choix :
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>
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 :
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.
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>
A savoir que pour l'édition je ne fais qu'un
suivi de
Code : Sélectionner tout - Visualiser dans une fenêtre à part $dom = domxml_open_file("sitemap.xml");
Le reste du script est analogue à la création.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $root = $dom->document_element();
Un conseil ?
Partager