Lecture xml
gunslinger
-
gunslinger -
gunslinger -
Bonjour,
Je suis entrain d'ajouter a un site d'achat en ligne un nouveau mode de payement qui s'appelle neteller. Mon problème et oui sinon je ne serais pas la est que une fois les informations sont entre et envoyer via un formulaire (cette partie fonctionne sans problème) je reçois un xml.
Le probleme c que ce xml s'affiche sur la page courante immédiatement et je n'arrive pas à l'empêcher de s'afficher de plus je ne trouve pas le moyen d'entrer dans le xml.
L'url de reponse est la même que celle que j'envoie il ne rajoute pas a la fin de fichier.xml que je pourrait aller lire.
L'un de vous aurrait-il une idée a me soumettre pour que j'arive a empecher l'affichage de ce xml et aussi de rentrer dans ce xml que je puisse traiter les données.
Merci infiniment pour vos futur reponse.
PS : Si vous avez besoin d'une quelconque informations faite le moi savoir.
Je suis entrain d'ajouter a un site d'achat en ligne un nouveau mode de payement qui s'appelle neteller. Mon problème et oui sinon je ne serais pas la est que une fois les informations sont entre et envoyer via un formulaire (cette partie fonctionne sans problème) je reçois un xml.
Le probleme c que ce xml s'affiche sur la page courante immédiatement et je n'arrive pas à l'empêcher de s'afficher de plus je ne trouve pas le moyen d'entrer dans le xml.
L'url de reponse est la même que celle que j'envoie il ne rajoute pas a la fin de fichier.xml que je pourrait aller lire.
L'un de vous aurrait-il une idée a me soumettre pour que j'arive a empecher l'affichage de ce xml et aussi de rentrer dans ce xml que je puisse traiter les données.
Merci infiniment pour vos futur reponse.
PS : Si vous avez besoin d'une quelconque informations faite le moi savoir.
A voir également:
- Lecture xml
- Xml viewer - Télécharger - Édition & Programmation
- Lecture epub sur pc - Guide
- Accusé de lecture gmail - Guide
- Confirmation de lecture whatsapp - Guide
- Lecture qr code pc - Guide
16 réponses
Bonjour,
recherche du côté d'un parser xml, c'est un pgm qui permet de lire le fichier et d'en faire ensuite ce que l'on souhaite.
recherche du côté d'un parser xml, c'est un pgm qui permet de lire le fichier et d'en faire ensuite ce que l'on souhaite.
une requête retourne un fichier xml. si on clique ou qu'on l'ouvre il s'ouvre effectivement comme on le voit dans ton lien.
ce que je comprends de ton problème c'est que tu veux traiter le contenu de ce fichier. Il te faut donc un parser xml.
ce que je comprends de ton problème c'est que tu veux traiter le contenu de ce fichier. Il te faut donc un parser xml.
Salut alors j'ai encore quelque probleme je comprend pourquoi j'ai besoin d'un parser mais je ne comprend toujours pas comment entrer dans mon xml car dans les exemple que j'ai vu il me faut le nom du fichier dans lequel ce trouve le xml pour pouvoir l'utiliser alors j'ai peut être zapper une étape ou on en a pas besoin mais je n'ai pas vu comment faire.
Je voudrai savoir si il est possible d'empêcher l'affichage de la page xml sur l'écran.
Merci beaucoup pour ton aide.
Je voudrai savoir si il est possible d'empêcher l'affichage de la page xml sur l'écran.
Merci beaucoup pour ton aide.
Bonjour,
à mon avis il doit s'ouvrir car il doit y avoir un href quelque part.
comment récupères-tu ce fichier ? via une requête ?
à mon avis il doit s'ouvrir car il doit y avoir un href quelque part.
comment récupères-tu ce fichier ? via une requête ?
C pour un système de payement qui s'appelle neteller j'ai un formulaire en post que j'envoie a cette adresse : https://api.neteller.com/netdirect et donc dans l'url on peut lire cette adresse puis une fois le formulaire valider je reçois directement le xml sur l'écran et dans l'url il y a tjs la m adresse c'est a dire https://api.neteller.com/netdirect
Si il y a de schoses que tu ne comprend pas je peut t'envoyer les doc de cette application.
Merci pour ton aide.
Si il y a de schoses que tu ne comprend pas je peut t'envoyer les doc de cette application.
Merci pour ton aide.
essaies un truc du genre $result = https://api.neteller.com/netdirect ( ce que tu codes pour recevoir le fichier xml)
il sera alors dans un tableau que tu pourras traiter
il sera alors dans un tableau que tu pourras traiter
tu veux que j'essaie de faire un truc du genre $result = <form method="post" action="https://api.neteller.com/netdirect">......</form>
ou est ce que j'ai mal compris un truc ??
ou est ce que j'ai mal compris un truc ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En faisant comme sa
$result = "https://api.neteller.com/netdirect";
$xml_parseur = xml_parser_create();
while ($fdata = fread($result, 2048)){
xml_parse($xml_parseur, $fdata, feof($result)) or die(
sprintf("Erreur XML : %s à la ligne %d\n",
xml_error_string(xml_get_error_code($xml_parseur)),
xml_get_current_line_number($xml_parseur))
);
}
sa ne marche pas il me dis que l'argument passer a fread n'est pas valide.
$result = "https://api.neteller.com/netdirect";
$xml_parseur = xml_parser_create();
while ($fdata = fread($result, 2048)){
xml_parse($xml_parseur, $fdata, feof($result)) or die(
sprintf("Erreur XML : %s à la ligne %d\n",
xml_error_string(xml_get_error_code($xml_parseur)),
xml_get_current_line_number($xml_parseur))
);
}
sa ne marche pas il me dis que l'argument passer a fread n'est pas valide.
après ça :
Par gunslinger, le mardi 11 mars 2008 à 12:40:35
En faisant comme sa
$result = "https://api.neteller.com/netdirect";
pour voir ce que cela donne et avant de te lancer dans le parser (pour voir si c'est OK) tu fais
echo "<pre>"; print_r($result);echo "</pre>";
comme ça on verra si tu récupère bien les infos que l'on veut
NON c'est pas bon il faut faire autre chose pour récupérer le xml. je vais chercher
Par gunslinger, le mardi 11 mars 2008 à 12:40:35
En faisant comme sa
$result = "https://api.neteller.com/netdirect";
pour voir ce que cela donne et avant de te lancer dans le parser (pour voir si c'est OK) tu fais
echo "<pre>"; print_r($result);echo "</pre>";
comme ça on verra si tu récupère bien les infos que l'on veut
NON c'est pas bon il faut faire autre chose pour récupérer le xml. je vais chercher
ok alors je vient de tester comme sa et sa m'affiche https://api.neteller.com/netdirect
mon fichier est composer de la manière suivante :
<?php
$result = "https://api.neteller.com/netdirect";
echo "<pre>"; print_r($result);echo "</pre>";
?>
formulaire d'envoie
ok et qd je valide le formulaire je reçois le xml a l'écran et si je fais clique droit code source je vois uniquement le xml.
du coup le code qui ce trouve sur ma page n'est pas pris en compte. Je ne comprend pas comment mon code qui ce trouve sur ma page du formulaire peut être traiter.
mon fichier est composer de la manière suivante :
<?php
$result = "https://api.neteller.com/netdirect";
echo "<pre>"; print_r($result);echo "</pre>";
?>
formulaire d'envoie
ok et qd je valide le formulaire je reçois le xml a l'écran et si je fais clique droit code source je vois uniquement le xml.
du coup le code qui ce trouve sur ma page n'est pas pris en compte. Je ne comprend pas comment mon code qui ce trouve sur ma page du formulaire peut être traiter.
$snoopy = new Snoopy();
$snoopy->submit("https://api.neteller.com/netdirect");
$xml = $snoopy->results;
je te mets la classe php là ---> https://www.cjoint.com/?dlm0VgFziw
$snoopy->submit("https://api.neteller.com/netdirect");
$xml = $snoopy->results;
je te mets la classe php là ---> https://www.cjoint.com/?dlm0VgFziw
ok alors j'ai réussi a utilisé la class snoopy le probleme maintenant c que quand je valide mon formulaire ma page disparais au profit de leur xml qui est affiché a l'écran voir le code source de la page récupérer :
<?xml version="1.0" encoding="UTF-8"?>
<netdirect version="4.1">
<approval>no</approval>
<error>1010</error>
<error_message>You have requested an amount higher than the balance available in your NETELLER account.</error_message>
<custom_1 xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<custom_2 xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<custom_3 xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<url>http://api.neteller.com/...
<url_message>Please sign in to your NETELLER account to confirm your current balance.</url_message>
<telephone_message>Should you have any questions, call the NETELLER Customer Contact Centre at 00800 7767 6343.</telephone_message>
</netdirect>
la page de mon formulaire ou j'utilise la class snoopy disparais donc sa ne marche pas serais tu m'expliquer comment je peux faire pour empecher cette page de saficher que je garde ma page pour que je puisse traiter ce fameux xml
merci infiniment de ton aide j'ai enfin pu avancer.
<?xml version="1.0" encoding="UTF-8"?>
<netdirect version="4.1">
<approval>no</approval>
<error>1010</error>
<error_message>You have requested an amount higher than the balance available in your NETELLER account.</error_message>
<custom_1 xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<custom_2 xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<custom_3 xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<url>http://api.neteller.com/...
<url_message>Please sign in to your NETELLER account to confirm your current balance.</url_message>
<telephone_message>Should you have any questions, call the NETELLER Customer Contact Centre at 00800 7767 6343.</telephone_message>
</netdirect>
la page de mon formulaire ou j'utilise la class snoopy disparais donc sa ne marche pas serais tu m'expliquer comment je peux faire pour empecher cette page de saficher que je garde ma page pour que je puisse traiter ce fameux xml
merci infiniment de ton aide j'ai enfin pu avancer.
je t'envoie ce soir quand je serai rentré à la maison un fichier php modèle.
il faut avant que j'enlève quelques lignes pour que tu n'aies qu'un squelette correct.
il faut avant que j'enlève quelques lignes pour que tu n'aies qu'un squelette correct.
Voilà un code qui fonctionne au boulot. Modifé pour ne pas avoir tout
<?php
/***********************************************************************/
function startElement($parser, $name, $attribs) {
global $entreprise,$etab,$etab_adr,$siege,$siege_adr,$old;
}
//fin start element
function endElement($parser, $name)
{
global $elt,$resultat,$nb_total_base;
if($name == 'Nombalisededébut'){
$nb_total_base = $elt;
if ($nb_total_base == 0) {
echo '<br> Il n y a aucun retour. <br>';
}
}
// Ici je met dans un tableau le contenur du retour en fonction de la balsie wml
if($name == 'NOMdelabalise'){
$resultat['NOMdelabalise'] = $elt;
}
}
function characterData($parser, $data)
{
global $elt;
$elt = $data;
}
/***********************************************************************/
include ('snoopy.class.php');
/***********************************************************************/
$snoopy = new Snoopy();
$snoopy->submit("https://api.neteller.com/netdirect");
$xml = $snoopy->results;
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!xml_parse($xml_parser, $xml, true))
{
echo "XML error: ".xml_error_string(xml_get_error_code($xml_parser))." ligne ".xml_get_current_line_number($xml_parser));
}
xml_parser_free($xml_parser);
// on a nos variables dans le tableau $resultat
?>
<?php
/***********************************************************************/
function startElement($parser, $name, $attribs) {
global $entreprise,$etab,$etab_adr,$siege,$siege_adr,$old;
}
//fin start element
function endElement($parser, $name)
{
global $elt,$resultat,$nb_total_base;
if($name == 'Nombalisededébut'){
$nb_total_base = $elt;
if ($nb_total_base == 0) {
echo '<br> Il n y a aucun retour. <br>';
}
}
// Ici je met dans un tableau le contenur du retour en fonction de la balsie wml
if($name == 'NOMdelabalise'){
$resultat['NOMdelabalise'] = $elt;
}
}
function characterData($parser, $data)
{
global $elt;
$elt = $data;
}
/***********************************************************************/
include ('snoopy.class.php');
/***********************************************************************/
$snoopy = new Snoopy();
$snoopy->submit("https://api.neteller.com/netdirect");
$xml = $snoopy->results;
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!xml_parse($xml_parser, $xml, true))
{
echo "XML error: ".xml_error_string(xml_get_error_code($xml_parser))." ligne ".xml_get_current_line_number($xml_parser));
}
xml_parser_free($xml_parser);
// on a nos variables dans le tableau $resultat
?>
normalement oui
en résumé le parser lit le contenu du fichier xml et met les valeur dans un tableau en fonction des balises du fichier xml
ensuite à toi de traiter le contenu du tableau pour en faire ce que tu veux : affichage, calcul, que sais-je ?
en résumé le parser lit le contenu du fichier xml et met les valeur dans un tableau en fonction des balises du fichier xml
ensuite à toi de traiter le contenu du tableau pour en faire ce que tu veux : affichage, calcul, que sais-je ?
Salut alors je vien d'essayer d'associer ton fichier avec mon formulaire et sa ne marche pas.
Quand j'arrive sur la page de mon formulaire il traite bien ton code en me disant que " XML error: no element found ligne 1 " et quand je valide le formulaire comme d'habitude il m'affiche le xml a l'écran et rien ne ce passe .
Je suis complètement perdu est-ce que je l'ai mis au mauvais endroit ? ou alors est-ce que sa ne marche pas ?
Quand j'arrive sur la page de mon formulaire il traite bien ton code en me disant que " XML error: no element found ligne 1 " et quand je valide le formulaire comme d'habitude il m'affiche le xml a l'écran et rien ne ce passe .
Je suis complètement perdu est-ce que je l'ai mis au mauvais endroit ? ou alors est-ce que sa ne marche pas ?
le code doit être adapté (pour tester les balises recherchées)
cependant quand tu cliques sur le lien (du moins pour moi) il me renvoit un fichier xml disant que kj'ai un problème d'autorisation. de ce fait je ne peux pas faire plus.
ce que j'ai envoyé fonctionne avec les tests sur les balises que j'attends à recevoir de mon application...
cependant quand tu cliques sur le lien (du moins pour moi) il me renvoit un fichier xml disant que kj'ai un problème d'autorisation. de ce fait je ne peux pas faire plus.
ce que j'ai envoyé fonctionne avec les tests sur les balises que j'attends à recevoir de mon application...
J'ai adapté le code pour chercher les balise qui m'intéresse mais c pas sa mon problème, mon vrai problème c qu'il m'affiche tjs la page xml dans la fenêtre.
Mon fichier ce déroule de la maniére suivante
1 - ton code modifié
2 - mon formulaire
Ce qui ce passe c quand j'arrive sur la page pour valider mon achat ton code me met le message XML error: no element found ligne 1.
Je valide mon formulaire et la je reçois comme avant le xml en pleine page.
Mon fichier ce déroule de la maniére suivante
1 - ton code modifié
2 - mon formulaire
Ce qui ce passe c quand j'arrive sur la page pour valider mon achat ton code me met le message XML error: no element found ligne 1.
Je valide mon formulaire et la je reçois comme avant le xml en pleine page.
D'accord alors il y a eu un mauvais échange de donner car moi je dois envoyer des données traiter par formulaire et c le retour de ce formulaire qui est un xml qui s'affiche dans la page principal. Si tu veux donne moi une adresse et je tenvoie la doc technique de ce que je suis entrein de faire tu comprendra pour le formulaire.
Comment passes-tu les données vers cette URL, sans doute via un GET alors tu fais :
$snoopy->submit("https://api.neteller.com/netdirect/quelquechose.php?parm1=nn,parm2=mm");
de toute façon avec
$xml = $snoopy->results;
le retour ne s'affiche pas, il est dans la variable xml
c'est le principe même.
peut être devrais-tu trouver sur le net un parser plus simple.
$snoopy->submit("https://api.neteller.com/netdirect/quelquechose.php?parm1=nn,parm2=mm");
de toute façon avec
$xml = $snoopy->results;
le retour ne s'affiche pas, il est dans la variable xml
c'est le principe même.
peut être devrais-tu trouver sur le net un parser plus simple.
Je lui envoie par une méthode post c ce qui est demander par la doc technique je te join le formulaire que je leur envoie (les code ne sont pas les bon)
<form action="https://api.neteller.com/netdirect" method="post" enctype="multipart/form-data">
<input type="text" name="version" size="8" maxlength="5" value="4.1"></div></TD>
<input type="text" name="amount" size="8" maxlength="5" value="montant"></div></TD>
<input type="text" name="currency" size="3" maxlength="5" value="EUR"></div></TD>
<input type="hidden" name="merchant_id" value="1111">
<input type="hidden" name="merch_pass" value="EEEEEEEEE">
<input type="hidden" name="merch_key" value="222222">
<input type="hidden" name="merch_transid" value="WWWWWWWW">
<input type="text" name="net_account" size="12" maxlength="12"></div></TD>
<input type="text" name="secure_id" size="6" maxlength="6"></div></TD>
<input type="submit" name="button" value="Envoie mon numéro Neteller">
</form>
<form action="https://api.neteller.com/netdirect" method="post" enctype="multipart/form-data">
<input type="text" name="version" size="8" maxlength="5" value="4.1"></div></TD>
<input type="text" name="amount" size="8" maxlength="5" value="montant"></div></TD>
<input type="text" name="currency" size="3" maxlength="5" value="EUR"></div></TD>
<input type="hidden" name="merchant_id" value="1111">
<input type="hidden" name="merch_pass" value="EEEEEEEEE">
<input type="hidden" name="merch_key" value="222222">
<input type="hidden" name="merch_transid" value="WWWWWWWW">
<input type="text" name="net_account" size="12" maxlength="12"></div></TD>
<input type="text" name="secure_id" size="6" maxlength="6"></div></TD>
<input type="submit" name="button" value="Envoie mon numéro Neteller">
</form>
c'est ce qui est fait par l'utilitaire snoopy
il crée un objet snoopy, envoie la requête et la récupère sous forme de tableau
les paramètres sont passés en GET comme dans le message 28.
et chaque ligne xml est retournée dans le tableau appelé $xml.
quand tu dis qui s'affiche à l'écran : c'est eux qui le disent ? ou toi qui le voit.
cherche sur le net un utilitaire qui récupère du xml et le traite. je ne connais que celui là mais il en existe d'autres sans aucun doute.
il crée un objet snoopy, envoie la requête et la récupère sous forme de tableau
les paramètres sont passés en GET comme dans le message 28.
et chaque ligne xml est retournée dans le tableau appelé $xml.
quand tu dis qui s'affiche à l'écran : c'est eux qui le disent ? ou toi qui le voit.
cherche sur le net un utilitaire qui récupère du xml et le traite. je ne connais que celui là mais il en existe d'autres sans aucun doute.
Bonjour,
la nuit porte conseil alors voilà un bilan.
Ton formulaire dans son action "attaque" directement l'URL, il est donc normal que le retour soit l'affichage de ce qui est retourné.
Il faut donc trouver un utilitaire du genre de celui que je t'ai passé (snoopy) de manière à ce que le retour de ton formulaire soit fait dans un tableau et non en affichage.
Tant que cela ne pourra être ainsi fait tu auras l'affichege du retour.
Il est étrange que rien ne soit noté dans ta doc.
reagrde ceci https://www.commentcamarche.net/contents/805-php-parser-du-xml
ou recherche dons dans ton moteur de recherche préféré un truc du genre "retour xml" ou "traitement xml".
la nuit porte conseil alors voilà un bilan.
Ton formulaire dans son action "attaque" directement l'URL, il est donc normal que le retour soit l'affichage de ce qui est retourné.
Il faut donc trouver un utilitaire du genre de celui que je t'ai passé (snoopy) de manière à ce que le retour de ton formulaire soit fait dans un tableau et non en affichage.
Tant que cela ne pourra être ainsi fait tu auras l'affichege du retour.
Il est étrange que rien ne soit noté dans ta doc.
reagrde ceci https://www.commentcamarche.net/contents/805-php-parser-du-xml
ou recherche dons dans ton moteur de recherche préféré un truc du genre "retour xml" ou "traitement xml".
A tu une idée peut être que je ne comprend pas un trucs et que c tout simple.
Merci de ta reponse