parser un fichier xml

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : parser un fichier xml

Re: parser un fichier xml

par Invité » 09 nov. 2009, 21:11

Salut,
Bonjour
Je travaille sur une api et je n'arrive pas à comprendre pourquoi mon parsing n'est pas complet en effet je récupère
uniquement les titres avec le code ci-dessous, mais pas les autres attributs .
Pourtant il me semble que la hiérachie est correct.
Le fichier xml test est à cette adresse cette partie du parsing est en bas du fichier.
j'ai mis un exemple complet ici pour mieux comprendre
http://www.listepro.com/test/Televiseur ... 6252,1.htm
merci d'avance car je bloque et ne comprend pas
ludo
Tu devrais préciser certain points. Le XML est une chose mais qu'utilises tu?
SimpleXml, DOM, xPath ?



DOM est pasionnant, complêt, etc, mais d'une approche difficile.
SXML est facile mais moins complêt.
XPATH permet de "voyager" dans l'objet en tracant le chemin...

Si tu peux préciser je pense que tu auras plus de réponses.

@+ bon code ;)

PS: http://php.net/manual/fr/book.dom.php


bonsoir,

Eh bien SimpleXML tout simplement.
manuso

Re: parser un fichier xml

par FuZZyLine » 09 nov. 2009, 20:51

Salut,
Bonjour
Je travaille sur une api et je n'arrive pas à comprendre pourquoi mon parsing n'est pas complet en effet je récupère
uniquement les titres avec le code ci-dessous, mais pas les autres attributs .
Pourtant il me semble que la hiérachie est correct.
Le fichier xml test est à cette adresse cette partie du parsing est en bas du fichier.
j'ai mis un exemple complet ici pour mieux comprendre
http://www.listepro.com/test/Televiseur ... 6252,1.htm
merci d'avance car je bloque et ne comprend pas
ludo
Tu devrais préciser certain points. Le XML est une chose mais qu'utilises tu?
SimpleXml, DOM, xPath ?

DOM est pasionnant, complêt, etc, mais d'une approche difficile.
SXML est facile mais moins complêt.
XPATH permet de "voyager" dans l'objet en tracant le chemin...

Si tu peux préciser je pense que tu auras plus de réponses.

@+ bon code ;)

PS: http://php.net/manual/fr/book.dom.php

Re: parser un fichier xml

par Invité » 09 nov. 2009, 20:14

[quote="manusoo"]Bonjour

Bon,

Eh bien je me reponds à moi-même comme cela, ça fait un bon dialogue.
j'ai essayé ce code également qui ne répond que partiellment à ce que je veux
dans ce cas j'affiche les 5 titres et les 5 echelles de prix mais sous tous les titres,
donc cette 2 ième boucle semble nécessaire mais mal écrite.

Code : Tout sélectionner

$category = $parser->document->categories[0]->category[0]; //ok $match_count = $category->items[0]->tagAttrs['matcheditemcount']; //ok $attributes = $category->attributes[0]->attribute[0]; // nombre de resltats ok echo "<div id='total_num_of_matches_container'><div id='total_num_of_matches'>You found $match_count matches.\n</div>"; //ok 1// foreach($parser->document->categories[0]->category[0]->attributes[0]->attribute as $attributes) { echo "<div id=total_matches_container><div id=total_matches><div id=total_num_of_matches> ".$attributes->name[0]->tagData;"</div>"; 2// foreach ($parser->document->categories[0]->category[0]->attributes[0]->attribute[0]->attributevalues[0]->attributevalue as $attributevalues){ echo "<div class='offertitle'>".$attributevalues->name[0]->tagData."</a></div>"; } }
affiche:
Find by Price Range
Below $490
$490 - $770
$770 - $1170
$1170 - $1610
Above $1610
Find by Brand
Below $490
$490 - $770
$770 - $1170
$1170 - $1610
Above $1610
Find by Installed RAM
Below $490
$490 - $770
$770 - $1170
$1170 - $1610
Above $1610
Find by Form Factor
Below $490
$490 - $770
$770 - $1170
$1170 - $1610
Above $1610

Si vous avez une idée pour la solution merci

parser un fichier xml

par manusoo » 07 nov. 2009, 17:21

Bonjour

Je travaille sur une api et je n'arrive pas à comprendre pourquoi mon parsing n'est pas complet en effet je récupère
uniquement les titres avec le code ci-dessous, mais pas les autres attributs .
Pourtant il me semble que la hiérachie est correct.
Le fichier xml test est à cette adresse cette partie du parsing est en bas du fichier.

j'ai mis un exemple complet ici pour mieux comprendre
http://www.listepro.com/test/Televiseur ... 6252,1.htm

Code : Tout sélectionner

1) foreach($parser->document->categories[0]->category[0]->attributes[0]->attribute as $attributes) { echo "<div id=total_matches_container><div id=total_matches><div id=total_num_of_matches>".$attributes->name[0]->tagData;"</div>"; Affiche les titres: Price Range - Processor Type - Brand 2) echo "<br><span class='result_list'><a href='".$attributes->attributeValues[0]->attributevalue[0]->tagAttrs['id']."'>".$attributes->attributevalues[0]->attributevalue[0]->name[0]->tagData."</a></span></div></div>"; Affiche seulement le premier attribut de chaque titre ci-dessus alors quil y en a 5 Price Range Brand Below $520 - Pionerpos mais il manque etc. $750 - $1110 $1110 - $1540 etc
merci d'avance car je bloque et ne comprend pas
ludo