IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

ecriture et lecture d'un fichier PHP qui génère du XML [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Points : 16
    Points
    16
    Par défaut ecriture et lecture d'un fichier PHP qui génère du XML
    Bonjour,

    je développe actuellement un programme permettant d'envoyer des informations à un fichier PHP qui se trouve sur un serveur.
    Ce fichier génère du XML en fonction des informations envoyées, puis mon programme récupère le XML.

    problème : impossible de lire ce fameux fichier une fois écrit.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public void envoiRequete()
    {
    	 byte[] vars = Encoding.ASCII.GetBytes("os=7&archi=64&SP=1&version=0.1");
     
    	// Configuration de la requête (URL, méthode, etc)
    	WebRequest request = WebRequest.Create("https://XXX.XXX.com:443/monFichier.php");
    	request.Method = "POST";
    	request.ContentType = "application/x-www-form-urlencoded";
    	request.ContentLength = vars.Length;
     
    	// Ecriture des données
    	Stream dataStream = request.GetRequestStream();
    	dataStream.Write(vars, 0, vars.Length);			
    	dataStream.Close();
     
     
           XML test = new XML();
    	test.traitementXML();
    voici la fonction de ma classe XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    public bool traitementXML()
    {		
    	try
    	{
            XmlDocument xmlDoc = new XmlDocument();
      	xmlDoc.Load("https://XXX.XXX.com:443/monFichier.php");
     
    	XmlNodeList xnList = xmlDoc.SelectNodes("/noeudParent/sousNoeud/sousSousNoeud");
     
    	foreach (XmlNode xn in xnList)
    	{
    	     Console.WriteLine("informationAttendue = "+ xn["informationAttendue"].InnerText);			
    	}
    	Console.WriteLine("ca marche");
    	return true;
    	}
    	catch 
    	{
                Console.WriteLine("erreur");
    	    return false;
    	}	
    }
    et enfin, voici mon fichier php :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    <?php
    try
    {
     
    //connection
    	$bdd = new PDO('mysql:host=localhost;dbname=nomDeMaBDD', 'nomUtilisateur', 'monMotDePasse');
    //requete
    	$req = "SELECT * FROM maTable ";  
    	$res = $bdd->query($req);	
     
    	//CREATION DU DOCUMENT XML
    		//debut
    	$dom = new DOMDocument('1.0', 'utf-8');
     
    	header('Content-Type: application/xml');
    	header("Cache-Control: no-cache, must-revalidLogicielate");
    	header("Expires: Mon, 10 Jul 1990 05:00:00 GMT");
    	//creation du noeud parent
     
    	$root = $dom->createElement("noeudParent");
    	$root->setAttribute("version", "1.0"); 
    	$root = $dom->appendChild($root); 
     
    	$sousNoeud = $dom->createElement("sousNoeud");
        $sousNoeud = $root->appendChild($sousNoeud);
    	//sousSousNoeud
    	$sousSousNoeud = $dom->createElement("sousSousNoeud");
    	$sousSousNoeud = $sousNoeud->appendChild($sousSousNoeud);
    		//fin
     
    	while($tab_res = $res->fetch())
    	{
    		if($tab_res['os']==$_POST['os'])
    		{
    			if($tab_res['archi']==$_POST['archi'])
    			{
    				switch($_POST['SP'])
    				{
    					case 1 :
    						if($tab_res['version']!=$_POST['version'])
    						{
    							$text_version = $dom->createTextNode($tab_res['lien']);
    							$text_version = $sousSousNoeud->appendChild($text_version);
    						}
    					break;
     
    					case 2 :
    						if($tab_res['version']!=$_POST['version'])
    						{
    							$text_version = $dom->createTextNode($tab_res['lien']);
    							$text_version = $sousSousNoeud->appendChild($text_version);
    						}
    					break;
     
    					case 3 :
    						if($tab_res['version']!=$_POST['version'])
    						{
    							$text_version = $dom->createTextNode($tab_res['lien']);
    							$text_version = $sousSousNoeud->appendChild($text_version);
    						}
    					break;
     
    					case 4 :
    						if($tab_res['version']!=$_POST['version'])
    						{
    							$text_version = $dom->createTextNode($tab_res['lien']);
    							$text_version = $sousSousNoeud->appendChild($text_version);
    						}
    					break;
    				}
    			}
    		}
    	}
     
    	echo $dom->saveXML();
    	$bdd = null;
    }
    catch (Exception $e) 
    {
        echo 'erreur de connection à la base de donnée : ',  $e->getMessage(), "\n";
    }
    ?>

    Je me suis demandé si le problème ne venait pas du fait que j'écris puis envoi mes informations, et les lis juste après (peut être que la lecture ne se fait pas parce que l'écriture n'est pas fini ?...).

    bref, je suis perdu ^^

    merci à l'avance

    P.S. : merci de ne pas tenir compte du "manque de logique" de mon code PHP (surtout au niveau du switch) c'est un test.

  2. #2
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    DANS TON code traitementXML
    je vois que tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    xmlDoc.Load("https://XXX.XXX.com:443/monFichier.php");
     
    	XmlNodeList xnList = xmlDoc.SelectNodes("/noeudParent/sousNoeud/sousSousNoeud");
    il faut lire le fichier XML non?
    Tu peux copier coller l'erreur afficher stp

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    tu devrais procéder par étape :

    Etape 1:

    Tester que ton code php avec un fichier xml que tu auras fait à la main fonctionne...

    Etape 2:

    Générer le fichier XML avec ton code C#... et le comparer à ton XML valide testé en étape 1

    Etape 3:

    Coder et tester l'envoi de la requête avec le code C# + fichier XML généré et validé en étape 2.

    Si tu procèdes ainsi, tu as des chances d'arriver à ton résultat... sinon, comment savoir si l'erreur vient du code C#, du code php,
    de la génération XML, de l'envoi du fichier XML en C#...

    bref, il faut avancer petit à petit et logiquement en informatique...
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    merci merci merci merci je m'y colle

    Citation Envoyé par charouel Voir le message
    DANS TON code traitementXML
    je vois que tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    xmlDoc.Load("https://XXX.XXX.com:443/monFichier.php");
     
    	XmlNodeList xnList = xmlDoc.SelectNodes("/noeudParent/sousNoeud/sousSousNoeud");
    il faut lire le fichier XML non?
    Tu peux copier coller l'erreur afficher stp
    je n'ai pas d'erreur "annoncées" ni par un arrêt d’exception non géré, ni par un problème de compilation, de plus j'ai effectuer plusieurs tests afin de voir si il me ressortait le "ca marche" et il le fait effectivement.

    Merci quand même de l'idée.

    P.S. : il est possible que j'ai mal compris ce que tu ai voulu me dire, si c'est le cas, peut tu me ré expliquer (peut être y a-t-il une procédure à suivre).

  5. #5
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    dans ton code tu veux charger l'xml mais tu mais le fichier php
    xmlDoc.Load("https://XXX.XXX.com:443/monFichier.php");
    ===> xmlDoc.Load("https://XXX.XXX.com:443/monFichier.XML");

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par charouel Voir le message
    dans ton code tu veux charger l'xml mais tu mais le fichier php
    xmlDoc.Load("https://XXX.XXX.com:443/monFichier.php");
    ===> xmlDoc.Load("https://XXX.XXX.com:443/monFichier.XML");
    En faite mon fichier est bien un .php donc nul besoin de changer l'extention en .xml dans mon url.

    J'ai réalisé les differents tests proposé et voici mes résultats :

    mon fichier php sur le serveur :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    <?php
    try
    {
     
    //connection
    	$bdd = new PDO('mysql:host=localhost;dbname=XXX', 'XXX', 'XXX');
    //requete
    	$req = "SELECT * FROM maTable ";  
    	$res = $bdd->query($req);	
     
    	//CREATION DU DOCUMENT XML
    		//debut
    	$dom = new DOMDocument('1.0', 'utf-8');
     
    	header('Content-Type: application/xml');
    	header("Cache-Control: no-cache, must-revalidLogicielate");
    	header("Expires: Mon, 10 Jul 1990 05:00:00 GMT");
    	//creation du noeud parent
    	$root = $dom->createElement("deployement");
    	$root->setAttribute("version", "1.0"); 
    	$root = $dom->appendChild($root); 
     
    	$software = $dom->createElement("XXX");
        $software = $root->appendChild($software);
     
    	//logiciel
    	$logiciel = $dom->createElement("logiciel");
    	$logiciel = $software->appendChild($logiciel);
     
    	//lien
    	$lien = $dom->createElement("lien");
    	$lien = $logiciel->appendChild($lien);
    		//fin
     
    	while($tab_res = $res->fetch())
    	{
    		if($tab_res['os']==$_POST['os'])
    		{
    			if($tab_res['archi']==$_POST['archi'])
    			{
    				switch($_POST['SP'])
    				{
    					case 1 :
    						if($tab_res['version']!=$_POST['version'])
    						{
    							$text_lien = $dom->createTextNode("lol");
    	                        $text_lien = $lien->appendChild($text_lien);
    						}
    					break;
     
    					case 2 :
    						if($tab_res['version']!=$_POST['version'])
    						{
    							$text_lien = $dom->createTextNode("lol");
    	                        $text_lien = $lien->appendChild($text_lien);
    						}
    					break;
     
    					case 3 :
    						if($tab_res['version']!=$_POST['version'])
    						{
    							$text_lien = $dom->createTextNode("lol");
    	                        $text_lien = $lien->appendChild($text_lien);
    						}
    					break;
     
    					case 4 :
    						if($tab_res['version']!=$_POST['version'])
    						{
    							$text_lien = $dom->createTextNode("lol");
    	                        $text_lien = $lien->appendChild($text_lien);
    						}
    					break;
    				}
    			}
    		}
    	}
     
    	echo $dom->saveXML();
    	$bdd = null;
    }
    catch (Exception $e) 
    {
        echo 'Exception de connection à la base de donnée : ',  $e->getMessage(), "\n";
    }
    ?>

    ma classe requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    public class Requete
    {
    	public void envoiRequete()//string id, string infobull, string nomLogiciel, string versionMaj)
    	{
    		 /* Dans ce tableau, vous indiquerez toutes les variables à transmettre via la requête POST
    		Si vous en avez plusieurs, vous devrez commencer à mettre à partir de la deuxième le signe "&" */
     
    		 byte[] vars = Encoding.ASCII.GetBytes("os=7&archi=64&SP=1&version=0.1");
     
    		// Configuration de la requête (URL, méthode, etc)
    		WebRequest request = WebRequest.Create("https://XXX.xxx.com:443/retour2.php");
    		request.Method = "POST";
    		request.ContentType = "application/x-www-form-urlencoded";
    		request.ContentLength = vars.Length;
     
    		// Ecriture des données
    		Stream dataStream = request.GetRequestStream();
    		dataStream.Write(vars, 0, vars.Length);
    		dataStream.Close();
     
    		XML test = new XML();
    		test.traitementXML();
     
     
     
     
    		// Récupération de la "réponse" -> il s'agit du contenu de la page
    		WebResponse response = request.GetResponse();
    		Stream get_response = response.GetResponseStream();
    		StreamReader read_response = new StreamReader(get_response);
     
    		// Stockage de tout le contenu dans une variable de type string
    		string content;
    		content = read_response.ReadToEnd();
    		Console.WriteLine("content = " +content);
    		//return content;
     
     
    	}
    }
    et voici ma classe XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    public class XML
    {
    	public string probleme = "de lecture XML";
     
     
    	public bool traitementXML()
    	{
    		string idLogiciel = null;
    		string version = null;
    		string archi = null;
    		string os = null;
    		string nom = null;
    		string lien = null;
     
    		   try
    	           {
    		    XmlDocument xmlDoc = new XmlDocument();
    		    xmlDoc.Load("https://deployement.davidremi.com:443/retour2.php");
     
     
    			XmlNodeList xnList = xmlDoc.SelectNodes("/noeudParent/sousNoeud/logiciel");
     
    			foreach (XmlNode xn in xnList)
    			{	
    				Console.WriteLine(lien = xn["lien"].InnerText);
    			}
     
    			Console.WriteLine("ca marche");
    			return true;
    		}
    		catch 
    		{
    			Console.WriteLine("erreur");
    		    return false;
    		}	
    	}
    }
    et voici ce qu'il m'affiche :
    Nom : test.png
Affichages : 106
Taille : 13,5 Ko

    voici mon fichier php en test :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    <?php
    try
    {
     
    //connection
    	$bdd = new PDO('mysql:host=localhost;dbname=XXX', 'XXX', 'XXX');
    //requete
    	$req = "SELECT * FROM maTable ";  
    	$res = $bdd->query($req);	
     
    	//CREATION DU DOCUMENT XML
    		//debut
    	$dom = new DOMDocument('1.0', 'utf-8');
     
    	header('Content-Type: application/xml');
    	header("Cache-Control: no-cache, must-revalidLogicielate");
    	header("Expires: Mon, 10 Jul 1990 05:00:00 GMT");
    	//creation du noeud parent
    	$root = $dom->createElement("XXX");
    	$root->setAttribute("version", "1.0"); 
    	$root = $dom->appendChild($root); 
     
    	$software = $dom->createElement("XXX");
        $software = $root->appendChild($software);
     
    	//logiciel
    	$logiciel = $dom->createElement("logiciel");
    	$logiciel = $software->appendChild($logiciel);
     
    	//lien
    	$lien = $dom->createElement("lien");
    	$lien = $logiciel->appendChild($lien);
    		//fin
    	$text_lien = $dom->createTextNode("lol");
    	$text_lien = $lien->appendChild($text_lien);	
     
    	echo $dom->saveXML();
    	$bdd = null;
    }
    catch (Exception $e) 
    {
        echo 'Exception de connection à la base de donnée : ',  $e->getMessage(), "\n";
    }
    ?>

    et ma classe XML en test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    /*
     * Crée par SharpDevelop.
     * Utilisateur: Media-pc
     * Date: 12/06/2014
     * Heure: 11:04
     * 
     * Pour changer ce modèle utiliser Outils | Options | Codage | Editer les en-têtes standards.
     */
    using System;
    using System.Xml;
    using System.IO;
    using System.Net;
    using System.Text;
     
    namespace DavidInformatiqueV1
    {
    	/// <summary>
    	/// Description of XML.
    	/// </summary>
    	public class XML
    	{
    		public string probleme = "de lecture XML";
     
     
    		public bool traitementXML()
    		{
    			string idLogiciel = null;
    			string version = null;
    			string archi = null;
    			string os = null;
    			string nom = null;
    			string lien = null;
     
    			try
    			{
    			    XmlDocument xmlDoc = new XmlDocument();
    			    xmlDoc.Load("https://deployement.davidremi.com:443/retour2.php"); 
     
     
     
     
    				XmlNodeList xnList = xmlDoc.SelectNodes("/noeudParent/XXX/logiciel");
     
    				foreach (XmlNode xn in xnList)
    				{	
    					Console.WriteLine(lien = xn["lien"].InnerText);
    				}
     
    				Console.WriteLine("ca marche");
    				return true;
    			}
    			catch 
    			{
    				Console.WriteLine("erreur");
    			    return false;
    			}	
    		}
    	}
    }
    et voici le resultat cette fois-ci :
    Nom : test2.png
Affichages : 101
Taille : 4,4 Ko

    J'en déduit alors que :
    - ma requete est belle est bien envoyé (comme on peut le voir avec le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Console.WriteLine("content = "+read_response);
    )
    -la lecture du XML généré fonctionne correctement (comme on peut le voir sur le test)
    - l'envoi de la requete suivi de la lecture pose problème!

    Donc, c'est au moment de l'écriture/[PROBLEME ICI]/lecture.

    J'ai donc essayé ceci dans ma classe requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Ecriture des données
    Stream dataStream = request.GetRequestStream();
    dataStream.Write(vars, 0, vars.Length);
     
    XML test = new XML();
    test.traitementXML(dataStream);
    dataStream.Close();
    et ceci dans ma classe XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public bool traitementXML(Stream str)
    {
    	string lien = null;
     
    	try
    	{
    	    XmlDocument xmlDoc = new XmlDocument();
                //xmlDoc.Load(str);
     
        [...]
    }
    mais apparemment je dois mal utiliser la fonction XmlDocument.load(stream) ?

    merci à vous, je continue les tests !!

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    ça y est, enfin!

    après les différents tests réalisés, j'ai enfin réussi.

    voici le code qu'il fallait utilisé (si jamais ça re-sert à quelqu'un ):

    ma fonction requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    public void envoiRequete()
    {
             /* Dans ce tableau, vous indiquerez toutes les variables à transmettre via la requête POST
    	Si vous en avez plusieurs, vous devrez commencer à mettre à partir de la deuxième le signe "&" */
     
    	 byte[] vars = Encoding.ASCII.GetBytes("os=7&archi=64&SP=1&version=0.1");
     
    	// Configuration de la requête (URL, méthode, etc)
    	WebRequest request = WebRequest.Create("https://XXX.XXX.com:443/retour2.php");
    	request.Method = "POST";
    	request.ContentType = "application/x-www-form-urlencoded";
    	request.ContentLength = vars.Length;
     
    	// Ecriture des données
    	Stream dataStream = request.GetRequestStream();
    	dataStream.Write(vars, 0, vars.Length);		
    	dataStream.Close();
     
     
    	// Récupération de la "réponse" -> il s'agit du contenu de la page
    	WebResponse response = request.GetResponse();
    	Stream get_response = response.GetResponseStream();
    	StreamReader read_response = new StreamReader(get_response);
     
    	// Stockage de tout le contenu dans une variable de type string
    	string content;
    	content = read_response.ReadToEnd();
    	Console.WriteLine("content = " +content);
     
    	XML test = new XML();
    	test.traitementXML(content);
    }
    ma fonction XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    public bool traitementXML(string content)
    {
    	string lien = null;
     
    	try
    	{
    	XmlDocument xmlDoc = new XmlDocument();
    	xmlDoc.LoadXml(content); //-> il fallait utiliser la fonction XmlDocument.loadXml([string]) et non .load([string/stream/uri])
     
    	XmlNodeList xnList = xmlDoc.SelectNodes("/noeudParent/XXX/logiciel");
     
    	foreach (XmlNode xn in xnList)
    	{	
    		lien = xn["lien"].InnerText;					
    	}
     
    	return true;
    	}
    	catch 
    	{
    	    return false;
    	}	
    }
    et là j'ai effectivement le tout qui fonctionne!!

  8. #8
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    Tu vois je te dis que le problème est dans XML.Load()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/06/2010, 19h40
  2. Ecriture et lecture d'un fichier config
    Par YvesP dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/01/2010, 19h10
  3. Imprimer un fichier php qui crée un pdf
    Par jules_diedhiou dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2009, 09h46
  4. Réponses: 2
    Dernier message: 09/09/2008, 11h58
  5. Ecriture et lecture dans un fichier
    Par laetous dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 23/08/2006, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo