Xml et php

Signaler
Messages postés
117
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
17 avril 2008
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonjour tous le monde,

Voila cela va bientot faire quelques temps que je me pose une question et après quelques recherche je voudrais l'avis de connaisseur. Je fais du php/mysql sans problème et je m'amuse aussi pas mal avec d'autre langage (flash, ajax, javascript ....) cependant une m'intrigue et m'agasse un peu. A quoi sert donc le xml ! dans le cas ou je fais du php via mysql le xml ne sert a rien ? et dans les autres cas ?
Je compte sur vos expérience pour avec un peu de chance me faire comprendre et me donner l'envie de m'y mettre.

2 réponses

Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
Salut,

Pouvoir utiliser/partager un meme fichier de configuration/d'echange entres divers langages/serveurs ? faire des web-services SOAP ?

Structure proprement des plugs-in ? (dans le cas d'un CMS)

Offrir un contenue qui peux etre syndiqué (RSS/Atom) ?

Pouvoir passer ces pages XHTML (HTML presenté en XML) dans une moulinette ?

(Dans les langages comme le C, il est pratique de stoquer des données en XML et d'utiliser du XML comme fichiers de configs).
Par exemple, un fichier CSV n'a pas les memes possibilités de structures (pas de sous-arbes etc) qu'un XML, un fichier XML peut aussi avoir ça DTD qui le valide :)

"dans le cas ou je fais du php via mysql le xml ne sert a rien ?" << ont va dire que ... ça ne se compare pas ... MySQL stoque dans des fichiers et les mets en memoires (les index par exemple), chose que le XML proprement dit ne peux pas vu qu'il faut parser tout le fichier pour retirer l'information. Avec PHP, ont peux former un document XML depuis une base de données MySQL (exemple des RSS).
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

le XML, c'est un "langage" descriptif. Il décrit des données.
A quoi peut-il serveir ? Effectivement, tous les web services, ou presque, se basent sur des flux xml. Parce que XML est universel, tout le monde parle le XML ;-)
Une appli java peut communiquer avec une appli PHP et un serveur Oracle via des échanges de flux XML.
Les utilisations peuvent être très variées...
Par contre...
"ont va dire que ... ça ne se compare pas ... MySQL stoque dans des
fichiers et les mets en memoires (les index par exemple), chose que le
XML proprement dit ne peux pas vu qu'il faut parser tout le fichier
pour retirer l'information"
Je suis obligé d'intervenir, car c'est très inexact (pas trouvé d'autre terme...). Si utiliser un flux XML passe par un parsing, dans ce cas, il en va de même pour une base de données. Dans le cas d'XML, le "parsing" sera...DOM...? XPATH...? XQUERY...? XSLT...? Tout dépend de ce que tu voudras faire. Dans le cas de mysql, mssql, ou autre...ce sera SQL. C'est au même niveau de "parsing".
Le problème n'est pas là. Du tout.
Une bdd, tout du moins les bdd auxquelles nous sommes habituées, STOCKENT des données.
Un flux XML les DECRIT. Certes, il peut aussi les stocker...et par la force des choses, souvent, il va le faire...mais un flux RSS, ce n'est pas réellement du stockage. On a une DTD, une grammaire, décrivant à quelles règles doit se conformer un flux RSS. Et le flux XML de ton fil RSSva décrire les données : une balise title indiquant...que là, on parle du titre...etc etc.
Si des applications très variées peuvent communiquer via un protocole basé sur du flux XML, c'est bien grâce à cette caâcité du XML à décrire des données.
Et un flux XML généralement ne stocke pas, ou du moins seulement de manière temporaire. Un fil RSS en est un exemple : tu ne stockes que de l'informartion volatile, qui change sans cesse. Contrairement à une BDD.
Pour revenir au parsing...on peut faire peu ou prou la même chose avec Xpath, qu'avec SQL, par exemple.
Et si on combien DOM, XSL, XPath...on va très loin et à moindre "coûts".

Mais, par contre, effectivement, on ne peut pas comparer une bdd et du XML. Ca ne sert pas à la même chose...même si parfois, on pourrait utiliser l'un ou l'autre dans le même cas de figure.
Il y a juste de nombreux cas où on ne le peut pas...ou plutôt, où l'un est largement préférable à l'autre.