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

ASP.NET Discussion :

Lecture xml par adresse URL


Sujet :

ASP.NET

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 6
    Par d�faut Lecture xml par adresse URL
    Bonjour � tous,

    Voil� je vous explique mon soucis en esp�rant que quelqu'un pourra m'aider.
    Je souhaite r�cup�rer les donn�es d'un fichier xml se trouvant sur un site pr�cis.

    Si je tape l'URL suivante dans mon browser (https://user:[email protected]_reading1.xml), celui-ci m'affiche les donn�es de mon fichier xml.

    Maintenant, j'essaie de les r�cup�rer par asp.net avec le code suivant:


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
            string URLString = "https://user:[email protected]/ws/data/~/00000000-00000000-00409DFF-FF3DB61A/sensor_demo/sensor_reading1.xml";
            XmlTextReader reader = new XmlTextReader(URLString);
            txtResult.Text =  txtResult.Text + "Greg " + reader.Name.ToString() + "\r\n";
            while (reader.Read())
            {
                // Traiter les données ici.
                txtResult.Text = txtResult.Text + reader.Name;
            }
    A ce moment, le code plante au niveau du while avec l'erreur :

    Le serveur distant a retourn� une erreur : (401) Non autoris�.
    Le certificat du dessus �tait cens� r�gler le probl�me mais ce n'est pas le cas.

    Merci d'avance pour vos suggestions.

    Grigou

  2. #2
    R�dacteur/Mod�rateur


    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    F�vrier 2004
    Messages
    19 875
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 19 875
    Par d�faut
    Je pense que tu vas �tre oblig� de passer par une HttpWebRequest pour sp�cifier les credentials (il y a peut-�tre un autre moyen, mais l� comme �a je vois pas...)

    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
    string URLString = "https://developer.idigi.com/ws/data/~/00000000-00000000-00409DFF-FF3DB61A/sensor_demo/sensor_reading1.xml";
    var request = WebRequest.Create(URLString) as HttpWebRequest;
    request.Credentials = new NetworkCredentials("user", "password");
    using (var response = request.GetResponse() as HttpWebResponse)
    using (var stream = response.GetStream())
    using (var reader = XmlReader.Create(stream))
    {
            StringBuilder sb = new StringBuilder();
     
            sb.AppendLine("Greg " + reader.Name);
            while (reader.Read())
            {
                // Traiter les données ici.
                sb.Append(reader.Name);
            }
            txtResult.Text += sb.ToString();
    }
    Au fait, MSDN d�conseille de cr�er explicitement une instance de XmlTextReader. Il faut utiliser XmlReader.Create � la place

    D'autre part, �vite de concat�ner des chaines dans un boucle, surtout s'il peut y avoir beaucoup d'it�rations : �a cr�e plein d'instances temporaires de String, ce qui inutilement de la pression sur le garbage collector. Utilise plut�t un StringBuilder

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 6
    Par d�faut Mon nouveau Gourou
    Salut tomlev,

    Je viens de te hisser au rang de nouveau gourou dans ma galerie des sauveurs... Ta solution propos�e fonctionne � merveille.

    Pour les d�butants en mon genre qui auraient le m�me probl�me, je tiens � pr�ciser que, par rapport au code de tomlev, j'ai du:
    -Enlever le "s" � "request.Credentials = new NetworkCredential("user", "password");"
    -Utiliser GetResponseStream � la place de stream dans using (var stream = response.GetStream())
    -Rajouter le using System.Text;

    Ne me demandez pas pourquoi, mais �a marche. Tomlev pourra peut-�tre expliquer pour notre culture g�n�rale.

    Merci � lui en tout cas.

    Grigou

  4. #4
    R�dacteur/Mod�rateur


    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    F�vrier 2004
    Messages
    19 875
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 19 875
    Par d�faut
    Citation Envoy� par grigou25 Voir le message
    Ne me demandez pas pourquoi, mais �a marche. Tomlev pourra peut-�tre expliquer pour notre culture g�n�rale.
    Ben j'ai fait �a de tete, et je connais pas la doc par coeur... d'o� des petites erreurs ^^
    Pour le namespace, je l'avais pas pr�cis�, vu que VS propose automatiquement de l'ajouter

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. lecture d un fichier xml par xsl
    Par reudodviking dans le forum XSL/XSLT/XPATH
    R�ponses: 4
    Dernier message: 22/10/2007, 23h19
  2. R�ponses: 2
    Dernier message: 20/06/2007, 10h16
  3. [DOM] Mettre � jour un fichier XML (par URL)
    Par ensiie dans le forum Format d'�change (XML, JSON...)
    R�ponses: 2
    Dernier message: 21/01/2007, 12h56
  4. [SAX] Lecture XML par XmlSax
    Par Carrel dans le forum Format d'�change (XML, JSON...)
    R�ponses: 3
    Dernier message: 11/12/2006, 16h02

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