|
|
|
|
Configuration: Linux Firefox 2.0.0.6
|
utilise responsexml...
function ajax_xml() { request.open('POST',"testajax.php", true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.send("&type=xml"); request.onreadystatechange = function(){ if(request.readyState == 4){ var answer = request.responseXML.documentElement; document.write(answer.getElementsByTagName("text")[0].firstChild.length); } } } enfin c'est une piste Tim |
Bonjour,
Merci de ta reponse mais ca ne marche pas!!! Ou alors je n'y arrive pas!!! J'envoie par echo avec php la chaine suivante par ex : <?xml version="1.0"?> <answer size="100">super <doc id="train/location001.view0001.jpg" w="0.409906" idcollect="STOIC" fmt="JPEG" href="http://ipal-server/stoic/train/location001.view0001.jpg"></d oc> </answer> Si je le récupère avec responseText, et que je demande de l'afficher dans une balise div par ex avec inner.html il ne le fait pas car il comprend que c'est du xml. Si je le récupère avec responseXML et que je lui applique des fonctions dom type getElementByTagName(), rien ne se passe non plus... J'ai essayé d'envoyer de le charger avec simpleXML_load_file sous php et de l'envoyer apres pour le récupérer avec responseXML rien n'y fait....pas cool!!! |
|
<?php
$fichier = "./somedoc.xml"; // fonction de traitement des balises ouvrantes function fonctionBaliseOuvrante($parseur, $nomBalise, $tableauAttributs) { // En fait... nous nous conteterons de mémoriser le nom de la balise // afin d'en tenir compte dans la fonction "fonctionTexte" global $derniereBaliseRencontree; global $attribtab; $derniereBaliseRencontree = $nomBalise; $attribtab=$tableauAttributs; echo("<br>voila la balsie >>"); print_r($derniereBaliseRencontree); echo("<br>voila le tableau d'attribut c'est plus clair <br>"); print_r($attribtab); } // fonction de traitement des balises fermantes function fonctionBaliseFermante($parseur, $nomBalise) { // On oublie la dernière balise rencontrée global $derniereBaliseRencontree; /* $derniereBaliseRencontree = ""; global $attribtab; $attribtab="";*/ } // fonction de traitement du texte // qui est appelée par le "parseur" function fonctionTexte($parseur, $texte) { global $derniereBaliseRencontree; global $attribtab; //echo ("test $derniereBaliseRencontree <br >"); // ATTENTION: Par défaut les noms des balises sont // mises en majuscules switch ($derniereBaliseRencontree) { case "ANSWER": echo("<br>ici on y est dans answer<br>"); echo "voici le texte de answer <b>".$texte."</b>; break; case "DOC": echo("ici on y est dns doc"); echo $texte; echo("alors ? rien au dessus tout en dessous... ben c un tableau d'attribut"); print_r($attribtab); break; } } // Création du parseur XML $parseurXML = xml_parser_create(); xml_set_element_handler($parseurXML, "fonctionBaliseOuvrante" , "fonctionBaliseFermante"); xml_set_character_data_handler($parseurXML, "fonctionTexte"); // Ouverture du fichier $fp = fopen($fichier, "r"); if (!$fp) die("Impossible d'ouvrir le fichier XML"); // Lecture ligne par ligne while ( $ligneXML = fgets($fp, 1024)) { // Analyse de la ligne // REM: feof($fp) retourne TRUE s'il s'agit de la dernière // ligne du fichier. //echo ("$ligneXML"); xml_parse($parseurXML, $ligneXML, feof($fp)) or die("Erreur XML"); } xml_parser_free($parseurXML); fclose($fp); ?> j'espère que cela peux t'aider aussi si tu as le pouvoir de formater le xml tu peux aussi faire... des balise pour chaque paramètres et mettre la valeur dans la balise ou dans un [!CDATAtavaleur]] voila j'espère que cela t'aidera Tim |
Résultats pour Transmission flux XML entre PHP et AJAX
Résultats pour Transmission flux XML entre PHP et AJAX
Résultats pour Transmission flux XML entre PHP et AJAX
Résultats pour Transmission flux XML entre PHP et AJAX
Résultats pour Transmission flux XML entre PHP et AJAX