Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Lecture xml

gunslinger, le lundi 10 mars 2008 à 15:18:59
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.
Répondre à gunslinger  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le lundi 10 mars 2008 à 15:49:51
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. JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le lundi 10 mars 2008 à 17:02:26
Mon problème n'est pas la lecture mais d'entrer dans le xml car je sais quand il s'agit d'un fichier et que l'on possède le nom mais la je possède rien tout ce qui ce passe c que je valide le formulaire et puis le xml apparait avec la même url que a laquelle jai envoyer mes variables du formulaire l'url est ” https://api.neteller.com/netdirect".

A tu une idée peut être que je ne comprend pas un trucs et que c tout simple.
Merci de ta reponse
Répondre à gunslinger

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le lundi 10 mars 2008 à 17:29:53
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. JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le lundi 10 mars 2008 à 17:31:38
ok je n'avais pas compris sa comme sa je te remercie et je vais essayer de suite.
Répondre à gunslinger

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le lundi 10 mars 2008 à 17:35:25
si tu ne trouves pas je verrai demain au boulot. JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mardi 11 mars 2008 à 09:32:55
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.
Répondre à gunslinger

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mardi 11 mars 2008 à 11:45:59
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 ? JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mardi 11 mars 2008 à 11:52:19
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.
Répondre à gunslinger

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mardi 11 mars 2008 à 11:54:56
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 JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mardi 11 mars 2008 à 12:04:13
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 ??
Répondre à gunslinger

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mardi 11 mars 2008 à 12:33:42
non sans forl direct ce que j'ai écrit JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mardi 11 mars 2008 à 12:40:35
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.
Répondre à gunslinger

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mardi 11 mars 2008 à 12:44:13
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
JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mardi 11 mars 2008 à 12:57:32
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.
Répondre à gunslinger

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mardi 11 mars 2008 à 12:53:36
$snoopy = new Snoopy();

$snoopy->submit("https://api.neteller.com/netdirect");
$xml = $snoopy->results;



je te mets la classe php là ---> http://cjoint.com/?dlm0VgFziw

JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mardi 11 mars 2008 à 13:07:08
je fais comment pour déclarer la class snoopy ?? je dois faire du copier collé de ce que tu ma donnée puis l'appellé dans mon fichier ??
Répondre à gunslinger

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mardi 11 mars 2008 à 14:33:28
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.
Répondre à gunslinger

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mardi 11 mars 2008 à 15:39:25
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. JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mardi 11 mars 2008 à 17:25:09
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

?>
JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mardi 11 mars 2008 à 17:38:16
Merci infiniment j'essaierai chez moi ce soir. Juste pour savoir (je vais tout depioté ce soir) avec ce fichier l'xml ne s affichera plus a l'écran ??? et me permettra de traiter le contenu ?

Merci bcp je vai enfin pouvoir finir ce tp je te remercie énormement :) .
Répondre à gunslinger

21


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mardi 11 mars 2008 à 17:54:39
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 ? JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

22


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mardi 11 mars 2008 à 18:01:55
Ok ben que dire a par merci je ne sais pas trop alors merci pour ta précieuse aide.
Répondre à gunslinger

23


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mercredi 12 mars 2008 à 15:29:58
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 ?
Répondre à gunslinger

24


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mercredi 12 mars 2008 à 15:52:54
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...

JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

25


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mercredi 12 mars 2008 à 16:06:02
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.
Répondre à gunslinger

26


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mercredi 12 mars 2008 à 17:11:59
Quel formulaire ?
je ne comeprends plus rien.

1 tu envoies une requête via le https:// ... qui te retourne un fichier xml.
2 tu traites le retour

aucun formulaire ne doit faire action="https:// ....


JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

27


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mercredi 12 mars 2008 à 17:56:40
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.
Répondre à gunslinger

28


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mercredi 12 mars 2008 à 18:25:37
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.
JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

29


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gunslinger, le mercredi 12 mars 2008 à 18:33:47
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>
Répondre à gunslinger

30


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le mercredi 12 mars 2008 à 18:48:29
s'ils te disent comment envoyer les infos, ils doivent aussi te dire comment les récupérer. JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller