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

JavaScript Discussion :

Récupérer données d'un fichier xml dans une div


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Points : 40
    Points
    40
    Par défaut Récupérer données d'un fichier xml dans une div
    Bonjour,

    Je souhaite pouvoir récupérer dans une div le contenu d'un fichier xml hébergé sur un espace web que j'ai. (distant).

    J'ai codé un script qui fait la connexion et qui met en forme le contenu suivant ce qu'il a trouvé dans le fichier xml mais j'ai une erreur lors du test. Dans la console google chrome j'ai ceci :

    XMLHttpRequest cannot load http://www.monsite.net/bonsplans.xml. Origin http://monsite.net is not allowed by Access-Control-Allow-Origin.
    Pouvez-vous m'aider? Voici les différents codes :

    script.js :

    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
    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
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    function loadXMLDoc(url)
    {
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    	xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
     
     {
        dernieresminutes="";
        x=xmlhttp.responseXML.documentElement.getElementsByTagName("DERNIEREMINUTE");
        for (i=0;i<x.length;i++)
          {
          xx=x[i].getElementsByTagName("DATE");
            {
            try
              {
              dernieresminutes=dernieresminutes + "<fieldset><legend><font color='#4e559c' size='2px'>" + xx[0].firstChild.nodeValue + "</font></legend>";
              }
            catch (er)
              {
              dernieresminutes=dernieresminutes + "<p>erreur*</p>";
              }
            }
            xx=x[i].getElementsByTagName("CONTENT");
            {
            try
              {
              dernieresminutes=dernieresminutes + "<div class=\"row\"><font color='blue' size='3px'><center>" + xx[0].firstChild.nodeValue + "</center></font>";
              }
            catch (er)
              {
              dernieresminutes=dernieresminutes + "<p>erreur*</p>";
              }
            }
            dernieresminutes=dernieresminutes + "</font></div></fieldset>";
          }
        document.getElementById('writeDernieresMinutes').innerHTML=dernieresminutes;
      } 
     
     
     
      {
        OffresPermanentes="";
        x=xmlhttp.responseXML.documentElement.getElementsByTagName("OFFREPERMANENTE");
        for (i=0;i<x.length;i++)
          {
          xx=x[i].getElementsByTagName("TITRE");
            {
            try
              {
              OffresPermanentes=OffresPermanentes + "<fieldset><legend><font color='#4e559c' size='2px'>" + xx[0].firstChild.nodeValue + "</font></legend>";
              }
            catch (er)
              {
              OffresPermanentes=OffresPermanentes + "<p>erreur*</p>";
              }
            }
            xx=x[i].getElementsByTagName("CONTENT");
            {
            try
              {
              OffresPermanentes=OffresPermanentes + "<div class=\"row\"><font color='blue' size='3px'><center>" + xx[0].firstChild.nodeValue + "</center></font>";
              }
            catch (er)
              {
              OffresPermanentes=OffresPermanentes + "<p>erreur*</p>";
              }
            }
            OffresPermanentes=OffresPermanentes + "</font></div></fieldset>";
          }
        document.getElementById('writeOffresPermanentes').innerHTML=OffresPermanentes;
      }
     
     
     
     
    }
    xmlhttp.open("POST",url,true);
    xmlhttp.send();
    }
     
     
     
    function getXhr(){
    	var xhr = null; 
    	if(window.XMLHttpRequest) // Firefox et autres
    		xhr = new XMLHttpRequest(); 
    	else if(window.ActiveXObject){ // Internet Explorer 
    		try {
    			xhr = new ActiveXObject("Msxml2.XMLHTTP");
    		} catch (e) {
    			xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    	}
    	else { // XMLHttpRequest non supporté par le navigateur 
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    		xhr = false; 
    	} 
    	return xhr
    }
    extrait de ma page.html :

    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
     
    <html lang="fr">
    <head>
    <title>monsite</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
    <script type="text/javascript" src="script.js"></script>
     
    <SCRIPT TYPE="text/javascript">
            function init(){
            loadXMLDoc('http://www.monsite.net/bonsplans.xml');
            }
    </SCRIPT>
     
    </head>
     
    <body onload="init();" onunload="clear();">
     
    <div id="bonplans" class="panel4" title="Bons plans">
    		<p style="text-align:left;"><font color="#4e559c" size="3px"><b>Dernières minutes :</b></font></p>
            <div id="writeDernieresMinutes"></div>
    		<p style="text-align:left;"><font color="#4e559c" size="3px"><b>Offres permanentes :</b></font></p>
            <div id="writeOffresPermanentes"></div> 
    </div>
     
    </body>
    </html>

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    Tout d'abord merci pour votre réponse.

    Je ne vois pas par contre où insérer la ligne Access-Control-Allow-Origin:* ?

    C'est dans le html? Pouvez-vous me donner un exemple svp?

Discussions similaires

  1. intégrer les données d'un fichier XML dans une base de données Oracle 11
    Par pmboutteau dans le forum Persistance des données
    Réponses: 2
    Dernier message: 07/03/2014, 09h55
  2. Réponses: 0
    Dernier message: 07/07/2008, 20h42
  3. Réponses: 1
    Dernier message: 09/05/2006, 12h00
  4. Intégration des fichier XML dans une base de données MySQL
    Par bebemoundjou dans le forum XQUERY/SGBD
    Réponses: 8
    Dernier message: 25/11/2005, 22h41
  5. Réponses: 3
    Dernier message: 13/12/2004, 13h54

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