Tutorials sur le parsing de l'API DOM de PHP5 ?

Tutorials sur le parsing de l'API DOM de PHP5 ? - PHP - Programmation

Marsh Posté le 27-03-2005 à 06:27:52    

Bonjour à tous,
Dans le cadre du developpement de mon site, je traite du xml sous PHP5.
Il m'ai plutot aisé de l'afficher (via simpleXML par exemple ou tout simplement XSLT).
Mais par contre la modification d'un fichier xml "dynamiquement" (j'entends par la, via l'intérmédiaire d'un script PHP et non pas des modifications manuelle...) est plûtot ardue.
La solution la plus simple étant de récupérer toute les données, les hiérarchiser a nouveau puis réecrire le fichier.
 
C'est alors que l'on m'a conseillé d'utiliser l'API DOM de PHP5 permettant facilement ce genre de chose. C'est à dire création, modification d'un fichier XML.
 
Je me suis alors dirigé vers la DOC PHP et euh... Certaines diront que c'est de la mauvaise foi mais j'ai eu beaucoup de mal a comprendre l'utilisation de cette API au point ou je ne sais faire que ca:

Code :
  1. <?php
  2. $doc = new DOMDocument();
  3. $doc->load('data/1.xml');
  4. $doc->getElementsByTagName('desc');
  5. echo $doc->saveXML();
  6. ?>


C'est à dire réafficher mon fichier xml...
Effectivement la doc concernant cet API ne contient quasiment aucun exemple et quasiment pas de ressources d'autres utilisateurs. De plus il y a tellement de fonctions, franchement la doc m'a toujours aidé mais la je m'y perds :s lol
 
Je souhaiterai donc savoir si vous connaitriez un tutorial sur l'API DOM dans le cadre de son utilisation sous PHP5.Tutorial qui me permettrait de comprendre la façon dont on s'y prends pour manipuler tout ca...
 
Oui, oui, je sais, google ! Ben j'ai cherché (tant du coté francophone qu'anglophone) je tombe en majorité sur des utilisations de l'api dom (xml) sous php4. Elle ne comporte pas les même commandes que celle sous php5, mais le principe est le même... (C'est d'ailleurs sur la compréhension de tuto dom xml sous php4 que je vais m'appuyer si vous n'avez pas de tutorials à me conseiller ^^ (c'est le plan de secours :p).
Sinon je suis tombé sur certaines explications de l'api DOM sous php5 mais pas assez bien expliquée pour quelqu'un de mon niveau visiblement...
Bon à la limite je peux faire mes affaires via les regex mais bon... si il y a moyen d'utiliser une API toute faite, pourquoi s'en priver ? ^^
 
Je vous remercie d'avoir lu tout mon petit blabla jusque la, je me sentais seul fallait je parle... et quand je parle... ben je parle beaucoup ^^ (je rigol hein :p).
Merci pour vos réponses aussi !
 
PS: Avant que d'autres ne le prennent mal je cherche pas un truc tout fait hein... Je voudrai juste piger un peu cette API car bon la doc est plutot vide et malheureusement illustrée d'aucun exemple (qui me permettraient de comprendre) comme dit ci dessus :/

Reply

Marsh Posté le 27-03-2005 à 06:27:52   

Reply

Marsh Posté le 27-03-2005 à 11:11:20    

Salut,
 
J'ai eu le meme probleme il y a quelques temps et je l'ai a peu pres resolu en regardant les pages de référence a l'xsl et xslt .. Souvent les commentaires des utilisateurs s'en inspirent pas mal ...  
Perso j'ai jamais travailler directement avec DOM mais je l'ai deja utilisé comme support pour xsl ... Donc si tu as une question .. p-e que je saurai y repondre .. Au cas ou balance toujours ici tes tuto DOM/PHP5 que tu ne comprends pas, p-e que pour d'autres ca sera plus clair ;)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 28-03-2005 à 00:59:41    

annadivx a écrit :

Des fonctions de base pour le traitement d'un arbre DOM sont encore expérimentales...
 
Mais voyons un peu ce document:
http://ch2.php.net/manual/fr/ref.domxml.php
 
ils parlent de "noeuds", de "parents" et d' "enfants" (node,parents,child)
 
...append_child,...remove_child, child_nodes, set_attribute,get_attribute... etc...
si tu connais le XML et l'aborde sous l'angle d'une arborescence,
leur documentaion est suffisante, mais ils disent bien que certaines fonctions sont encore "expérimentales"...
 
courage :)
 
 
P.S.
Mais la vérité est peut-être ailleurs (...Tempus Fug_it...)


 
Coucou,
Je te remerci pour ta réponse.
A vrai dire euh je suis quelqu'un d'autodidacte, j'ai donc tout appris sur le tas... Alors la théorie hum... C'est un peu pour ca je comprends pas trop les expressions utilisés par la doc. Bon je vois a peu pres quand même ce qu'est un noeud, un parent et un fils mais bon sans plus ^^. Enfin bref le problème n'est pas la hein :p du moment que sans théorie je réussi tres bien la pratique (xhtml strict powa :p).
 
Bon Je souhaterai savoir ce que tu entends par "experimental" ? C'est à dire que les fonctions peuvent changer a un moment ou un autre ? Et donc il ne vaut mieu pas l'utiliser.
 
Merci.
 
PS:Je suis toujours ouvert à tout tuto ceci dit :p (us comme fr)

Reply

Marsh Posté le 28-03-2005 à 03:55:53    

Pour info c'est pas l'API DOMXML que je cherche... ce dernier tournant sur php4.
C'est plutot l'API DOM, qui est certes quasiment la même chose mais avec des fonctions plutot differentes, enfin c'est la new version mais pour PHP5...
 
Merci pour la précision au fait ;)


Message édité par Tempus_Fugit le 29-03-2005 à 05:20:47
Reply

Marsh Posté le 28-03-2005 à 21:08:29    

Mais vous etes sur que y'a pas moyen de faire ca avec SimpleXML?il me semblait avoir vu un exemple pour ca

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed