php + XML

php + XML - PHP - Programmation

Marsh Posté le 18-10-2004 à 16:07:23    

yo,
j'ai fait une recherche et y'a tres peu de topic a ce sujet alors jme lance :o
 
 
en fait jdoit traiter un fichier XML en php.
le top serait un truc qui le lirait et ou on pourrait acceder aux champs de cette facon:
 
$item[$index]->branche
$item[$index]->branche->sousBranche
 
voila a quoi ca ressemble:
 

- <productFeed version="0" timestamp="20041018:00:05:02">
- <product id="1" delete="false">
  <name>NOM</name>  
  <productURL>urlProduit</productURL>  
  <imageURL>urlImage</imageURL>  
  <price>29.90</price>  
- <description>
- <![CDATA[ longue description ]]>  
  </description>
  <fields />  
- <categories>
  <category name="desc" />  
  </categories>
  </product>
...
</productFeed>


 
 
pour ma part j'ai trouver cet article  
http://www.wirelessdevnet.com/chan [...] t_php.html
 
mais c'est pour la gestion des RSS et je galere pour l'adapter :/
 
vous utilisez quoi vous?
 
Merci


Message édité par veryfree le 18-10-2004 à 16:08:45
Reply

Marsh Posté le 18-10-2004 à 16:07:23   

Reply

Marsh Posté le 19-10-2004 à 13:19:52    

up

Reply

Marsh Posté le 19-10-2004 à 13:44:47    

A priori les RSS ont une DTD donc ça reste figé comme format.
Assure toi que la structure de ton xml ne bougera pas dans une premier temps.
Sinon si tu es en php5 tu peux utiliser simpleXML. C'est encore un peu limité en fonctionnalité mais ça a l'avantage d'etre simple.
Il est possible que ça soit suffisant pour ce que tu cherches à faire

Reply

Marsh Posté le 19-10-2004 à 13:46:39    

veryfree a écrit :

yo,
j'ai fait une recherche et y'a tres peu de topic a ce sujet alors jme lance :o
 
 
en fait jdoit traiter un fichier XML en php.
le top serait un truc qui le lirait et ou on pourrait acceder aux champs de cette facon:
 
$item[$index]->branche
$item[$index]->branche->sousBranche
 
voila a quoi ca ressemble:
 

- <productFeed version="0" timestamp="20041018:00:05:02">
- <product id="1" delete="false">
  <name>NOM</name>  
  <productURL>urlProduit</productURL>  
  <imageURL>urlImage</imageURL>  
  <price>29.90</price>  
- <description>
- <![CDATA[ longue description ]]>  
  </description>
  <fields />  
- <categories>
  <category name="desc" />  
  </categories>
  </product>
...
</productFeed>


 
 
pour ma part j'ai trouver cet article  
http://www.wirelessdevnet.com/chan [...] t_php.html
 
mais c'est pour la gestion des RSS et je galere pour l'adapter :/
 
vous utilisez quoi vous?
 
Merci


 
hello
 
si tu peux utiliser php5 alors simplexml est ton ami  :)  
http://www.google.fr/search?hl=fr& [...] ogle&meta=


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 19-10-2004 à 13:46:52    

xpath pourrait coller, mais c'est pas de base il me semble [:spamafote]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 19-10-2004 à 15:16:02    

simogeo a écrit :

hello
 
si tu peux utiliser php5 alors simplexml est ton ami  :)  
http://www.google.fr/search?hl=fr& [...] ogle&meta=


 
c'est genial ce truc.
 
jvai faire une demande pour passer a php5
 
merci  [:dawacube]


Message édité par veryfree le 19-10-2004 à 15:16:28
Reply

Marsh Posté le 19-10-2004 à 16:14:11    

bon , le responsable est pas chaud du tout la :s
 
selons lui y'aura une incompatibilité avec pas mal de site deja hebergé ici :/
 
 
kadreg>>je regarde ton xpath :jap:

Reply

Marsh Posté le 19-10-2004 à 16:51:02    

enfin xpath ca veut dire traitement xsl ( si je ne m'abuse :o ) et de préférence coté serveur donc il faut que tu ais un processur xsl installé aussi.
 
et franchement c'est plutot reloud a mettre en oeuvre xslt


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 19-10-2004 à 16:54:36    

jviens de voir effectivement, jvai essayé autre chose mais ca me soule de pas pouvoir passer par simplexml :/

Reply

Marsh Posté le 19-10-2004 à 16:54:52    

simogeo a écrit :

enfin xpath ca veut dire traitement xsl ( si je ne m'abuse :o )  


 
Tu t'abuse. Xpath est une expression permettant de retrouver un noeud DOM par son chemin dans le fichier. Il s'avère que les règles de matching de XSL utilisent des expression xpath, mais c'est totu.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 19-10-2004 à 16:54:52   

Reply

Marsh Posté le 19-10-2004 à 17:01:03    

veryfree a écrit :

jviens de voir effectivement, jvai essayé autre chose mais ca me soule de pas pouvoir passer par simplexml :/


 
pkoi ne pas installé php5 en parallèle du 4 ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 19-10-2004 à 17:02:23    

kadreg a écrit :

Tu t'abuse. Xpath est une expression permettant de retrouver un noeud DOM par son chemin dans le fichier. Il s'avère que les règles de matching de XSL utilisent des expression xpath, mais c'est totu.


 
oki, mais il n'est pas possible d'utiliser xpath seul pour traiter ca! si ? ou xpath + ECMAScript ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 19-10-2004 à 17:18:53    

simogeo a écrit :

pkoi ne pas installé php5 en parallèle du 4 ?


 
deux versions sur une meme becane?


Message édité par veryfree le 19-10-2004 à 17:19:02
Reply

Marsh Posté le 19-10-2004 à 17:28:33    

veryfree a écrit :

deux versions sur une meme becane?


 
http://perso.dotdeb.org/gui/tiki-i [...] allDualPHP
 
je ne sais pas ce que vaut ce howto, y'en a d'autres sur le net


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 19-10-2004 à 17:33:16    

veryfree a écrit :

deux versions sur une meme becane?


J'ai une machine ici avec 2 php et 2 apache différents, ça pose pas de pbs...[:skeye]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 19-10-2004 à 17:42:39    

skeye a écrit :

J'ai une machine ici avec 2 php et 2 apache différents, ça pose pas de pbs...[:skeye]


 
veryfree > il est posible de n'installer qu'un seul apache !
(moi aussi je fais cohabiter php 4.3.x et 5 sur un apache 1.3)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 21-10-2004 à 13:32:50    

ca se passe comment pour dire a tel fichier de s'executer en php5 l'autre en php3-4 ?
 
grace a l'extention du fichier?

Reply

Marsh Posté le 21-10-2004 à 13:41:14    

veryfree a écrit :


grace a l'extention du fichier?


 
wala [:itm]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 21-10-2004 à 13:44:43    

oh ca va hein :whistle:

Reply

Marsh Posté le 22-10-2004 à 16:15:35    

hello,
 
en fait j'ai un petit soucis:
certains caracteres apparaissent mal:
 
champêtre et aéré  
 
dans l'entete de mon fichier XML j'ai ca:
  <?xml version="1.0" encoding="UTF-8" ?>  
 
alors j'ai crée mon parseur de cette facon: ( je suis toujours pas en php5,pour l'instant j'ai pas le choix )
 
$xml_parser = xml_parser_create("UTF-8" );
 
ils apparaissent toujours, j'ai essayé avec "ISO-8859-1", pareil :/
 
 
Une idée?

Reply

Marsh Posté le 22-10-2004 à 17:39:07    

tu as enregistré le fichier au format utf-8 ? [:petrus75]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 22-10-2004 à 17:45:24    

[:el g]


---------------
IVG en france
Reply

Marsh Posté le 22-10-2004 à 17:50:54    

le fichier nous est fournis par un site web, j'y ai acces qu'en lecture seule.

Reply

Marsh Posté le 22-10-2004 à 18:00:43    

alors quand tu récuperes tes variables utf8_encode()
 
http://fr2.php.net/manual/fr/function.utf8-encode.php
 
[:el g]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 26-10-2004 à 11:22:20    

Avant:
 
champêtre et aéré    
 
Apres
 
champêtre et aéré
 
 [:totoz]


Message édité par veryfree le 26-10-2004 à 11:23:01
Reply

Marsh Posté le 26-10-2004 à 11:33:54    

utf8_decode() alors [:el g]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 26-10-2004 à 14:02:22    

Essaye un truc du genre :
 

Code :
  1. <?
  2.         $rubDoc = new  DomDocument();
  3.         $rubDoc->preserveWhiteSpace = false;
  4.         $rubDoc->load("Le_chemin_qui_va_bien" );
  5.         $rubItem = $rubDoc->getElementsByTagName("item" );
  6.         foreach ($rubItem as $nodeList)
  7.         {
  8.             print utf8_decode($nodeList->childNodes->item(0)->childNodes->item(0)->nodeValue);
  9.         }
  10. ?>

Reply

Marsh Posté le 26-10-2004 à 14:52:34    

simogeo a écrit :

utf8_decode() alors [:el g]


 
 [:romf]

Reply

Marsh Posté le 26-10-2004 à 14:53:31    

gedeon a écrit :

Essaye un truc du genre :
 

Code :
  1. <?
  2.         $rubDoc = new  DomDocument();
  3.         $rubDoc->preserveWhiteSpace = false;
  4.         $rubDoc->load("Le_chemin_qui_va_bien" );
  5.         $rubItem = $rubDoc->getElementsByTagName("item" );
  6.         foreach ($rubItem as $nodeList)
  7.         {
  8.             print utf8_decode($nodeList->childNodes->item(0)->childNodes->item(0)->nodeValue);
  9.         }
  10. ?>




 
je garde ca pour plus tard eventuellement, la j'ai tout developpé "a l'ancienne"
 
 [:mmmfff]

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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