Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOM
DOM Forum d'entraide pour l'extension DOM permettant de manipuler des documents XML en PHP 5 (approche DOM). Avant de poster -> tutoriels DOM
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/05/2008, 18h22   #1
Membre confirmé
 
Jacques André
Inscription : novembre 2007
Messages : 196
Détails du profil
Informations personnelles :
Nom : Jacques André
Âge : 30

Informations forums :
Inscription : novembre 2007
Messages : 196
Points : 292
Points : 292
Envoyer un message via MSN à CIFQ_Drew
Par défaut [DOM] Manipulation de fichier XML avec PHP

Bonjours à tous,

Allons droit au but : j'ai à créer un flux RSS pour mon site Web à venir (bientôt). Pour manipuler les fichiers RSS et les fichiers XML en générale, je me suis créer une classe XMLFile et une autre RSSFile, qui utilise en fait un XMLFile. Le tout fonctionne très bien. Néanmoins, j'ai regarder les sources de dotclear (blog) et de wp-atom et, je ne comprends aucunement le fonctionnement de ces fichiers. Pour ma part, j'utilise le DOMDocument de PHP5 pour générer mes documents XML, alors que les deux autre utilise une autre appoche (on dirait qu'il produise le fichier directement en xml). Qu'elle est la meilleur façon (rapidité, efficacité). Voici un exemple du code wp-atom.php :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?>
<feed
  xmlns="http://www.w3.org/2005/Atom"
  xmlns:thr="http://purl.org/syndication/thread/1.0"
  xml:lang="<?php echo get_option('rss_language'); ?>"
  xml:base="<?php bloginfo_rss('home') ?>/wp-atom.php">
<? #uncomment and update to include image branding in your feed
   #<icon>/favicon.png</icon>
   #<logo>/feedicon.png</logo> ?>
  <id><?php bloginfo_rss('home') ?>/wp-atom.php</id>
  <updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT')); ?></updated>
  <title type="text"><?php bloginfo_rss('name') ?></title>
  <subtitle type="text"><?php bloginfo_rss("description") ?></subtitle>
  <link rel="self" type="application/atom+xml" href="<?php bloginfo('url'); ?>/wp-atom.php" />
  <link rel="replies" type="application/atom+xml" href="<?php bloginfo('url'); ?>/wp-commentsatom.php" />
<? #uncomment the following and customize to associate a license with a feed 
   #<link rel="license" type="application/rdf+xml" href="http://creativecommons.org/licenses/by-nc/2.5/rdf" /> ?>
  <link href="<?php bloginfo_rss('home') ?>" />
  <rights type="text">Copyright <?php echo mysql2date('Y', get_lastpostdate('blog')); ?></rights>
  <generator uri="http://wordpress.org/" version="<?php bloginfo_rss('version'); ?>">WordPress</generator>
  <?php $items_count = 0; if ($posts) { foreach ($posts as $post) { start_wp(); ?>
  <entry>
    <id><?php the_guid(); ?></id>
Prenez note que ce code n'est aucunement le miens, son auteur n'était pas cité dans les sources et ayant été pris à l'adresse : http://www.snellspace.com/wp/?p=404. Si la question n'est pas claire, j'aimerais savoir le fonctionnement de ce genre de script et si ce genre de script et plus performant et plus efficace que d'utilisé le DOMDocument.

Merci.

Drew
CIFQ_Drew est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2008, 21h22   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 835
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

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

Informations forums :
Inscription : mars 2005
Messages : 2 835
Points : 3 468
Points : 3 468
Le script collé est forcément plus performant car il ne fait appel qu'à des fonctions basiques de PHP alors que DOM construit une arborescence d'objets.
Qt à l'efficacité et bien c'est très subjectif : tout dépend de tes critères
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2008, 22h09   #3
Membre confirmé
 
Jacques André
Inscription : novembre 2007
Messages : 196
Détails du profil
Informations personnelles :
Nom : Jacques André
Âge : 30

Informations forums :
Inscription : novembre 2007
Messages : 196
Points : 292
Points : 292
Envoyer un message via MSN à CIFQ_Drew
Merci.
CIFQ_Drew est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h43.


 
 
 
 
Partenaires

Hébergement Web