Bonjour, j'ai réussi à créer mon analyseur Tout fonctionne très bien sauf une chose puisque mon xml est formulé un peu différent et je suis totalement perdu sur la façon d'attribuer une variable aux enfants de <photos>
.analyse xml avec php, enfants
1
A
Répondre
2
Je pense que l'analyse des données XML dans une structure arborescente serait utile. Je l'ai fait pour vous, regardez ici:
<?php
$data = '
<item>
<url />
<name />
<photos>
<photo>1020944_0.jpg</photo>
<photo>1020944_1.jpg</photo>
<photo>1020944_2.jpg</photo>
</photos>
<user_id />
</item>';
$tree = array();
$stack = array(&$tree);
function startElement($parser, $name, $attrs) {
global $stack;
$t = &$stack[ count($stack) - 1 ];
$t[ $name ][] = array();
$n = count($t[ $name ]);
array_push($stack, &$t[ $name ][ $n - 1 ]);
}
function endElement($parser, $name) {
global $stack;
array_pop($stack);
}
function characterData($parser, $data) {
global $stack;
$t = &$stack[ count($stack) - 1 ];
$t[ '#CDATA' ] = trim($data);
}
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
xml_parse($xml_parser, $data, TRUE);
foreach($tree[ 'ITEM' ][ 0 ][ 'PHOTOS' ][ 0 ][ 'PHOTO' ] as $photo) {
echo "{$photo[ '#CDATA' ]}\n";
}
?>
En fait, je (amateur) réimplémentées ce SimpleXML vous donne déjà:
<?php
$xml = new SimpleXMLElement($data);
foreach($xml->photos->photo as $photo) {
echo "$photo\n";
}
?>
+0
+/- 0, la meilleure solution serait d'utiliser simplement la bibliothèque SimpleXML, l'analyser vous-même est inutile (sauf si le XML est très gros (> 10 Mo) et c'est horrible maintenir une telle solution. – dbemerlin
Questions connexes
- 1. Analyse XML CDATA avec PHP
- 2. PHP & XML analyse
- 3. php xml analyse
- 4. php grand xml analyse avec pagination
- 5. Analyse XML avec simpleXML de PHP
- 6. Analyse syntaxique des attributs XML avec PHP
- 7. php json_decoding vs xml analyse
- 8. Analyse XML avec AS2
- 9. Analyse XML avec jQuery
- 10. Analyse XML avec AS3
- 11. Analyse XML avec REXML
- 12. Analyse XML avec C#, XPath
- 13. Problème PHP avec DOM analyse
- 14. Analyse XML CDATA avec Xmllite
- 15. PHP analyse fichier XML avec et sans espaces de noms
- 16. Analyse et transformation XML en PHP?
- 17. lente xml analyse
- 18. Xml analyse en android
- 19. XML analyse - iPhone
- 20. iPhone: analyse le fichier XML avec l'attribut
- 21. django analyse syntaxique xml avec le modèle
- 22. Analyse XML avec XDocument et XPath
- 23. OO Conception Objective-C avec analyse XML
- 24. Analyse XML avec des guillemets simples?
- 25. analyse d'un fichier XML blogspot avec Nokogiri
- 26. XML analyse avec lxml et Python
- 27. XML DOM analyse syntaxique avec Java
- 28. Analyse de données XML avec Cocoa
- 29. Analyse du fichier XML avec perl - regex
- 30. xml simple avec analyse syntaxique jquery
Je ne sais pas ce que votre code est censé faire et quelle est ta question? Vous voulez lire la structure XML donnée et stocker les informations équivalentes dans une table de base de données, n'est-ce pas? J'ai remarqué que vous concaténez les données de caractères dans la chaîne $ photos, mais ne l'utilisez jamais plus tard. Est-ce que c'est votre problème? – mkluwe
oui exactement .......... –