Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/12/2011, 15h18   #1
Invité régulier
 
Homme Medy Saf
Étudiant
Inscription : mai 2011
Messages : 18
Détails du profil
Informations personnelles :
Nom : Homme Medy Saf
Localisation : Maroc

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

Informations forums :
Inscription : mai 2011
Messages : 18
Points : 6
Points : 6
Par défaut Lecture d'un Fichier XML

Bonjour,
Voilà j'ai un code qui permet d'afficher le contenu d'un fichier XML

Code :
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
 
 /* FICHIER HTML * / 
<html>
<body>

<script type="text/javascript">
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","catalogue.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 

document.write("<table border='1'>");
var x=xmlDoc.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
  { 
  document.write("<tr><td>");
  document.write(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
  document.write("</td></tr>");
  }
document.write("</table>");
</script>

</body>
</html>
Code :
1
2
3
 
 <!--- CODE FICHIER catalogue.xml -->
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- Edited by XMLSpy® --> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> <CD> <TITLE>Hide your heart</TITLE> <ARTIST>Bonnie Tyler</ARTIST> <COUNTRY>UK</COUNTRY> <COMPANY>CBS Records</COMPANY> <PRICE>9.90</PRICE> <YEAR>1988</YEAR> </CD> ....

Alors mon code s'exécute correctement sans problème, mais le problème que j'ai c'est que mon fichier catalogue existe dans un serveur et quand je remplace la ligne
Code :
1
2
 
xmlhttp.open("GET","catalogue.xml",false);
par :
Code :
1
2
 
xmlhttp.open("GET","http://www.w3schools.com/xml/cd_catalog.xml",false);
Il m'affiche rien !!
je pense que le problème est quand le programme essaie de lire mon fichier il trouve pas l'entête d'un fichier XML et puis il peut pas le lire !!
j'espère que vous m'avez compris, essayez de m'aider c'est vraiment urgent !!
evil05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 21h58   #2
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
J'avance juste une hypothèse, sans en être sûr du tout : ce serait un problème de config ; en effet, y a pas très longtemps, je devais aussi lire des fichiers xml désignés par une url ; je le faisais en PHP, et pour que la lecture soit possible, il fallait changer un paramètre de PHP.INI ; donc mon code pouvait tourner en local (avec Easyphp, je pouvais modifier le php.ini, mais pas sur serveur (impossible de modifier la config du serveur !)) ; donc, je n'y connais rien, mais c'est peut-être le même genre de problème...
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 11/12/2011, 23h29   #3
Invité régulier
 
Homme Medy Saf
Étudiant
Inscription : mai 2011
Messages : 18
Détails du profil
Informations personnelles :
Nom : Homme Medy Saf
Localisation : Maroc

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

Informations forums :
Inscription : mai 2011
Messages : 18
Points : 6
Points : 6
Merci pour votre réponse laurent
Voilà j'ai trouvé une solution
Etape 1 :
J'ai crée un fichier PHP qui me renvoie le contenu du fichier XML depuis le site web
Etape 2 :
Appeler le fichier PHP depuis un fichier HTML et récupérer les données renvoyer puis les traiter tous simplement avec des commandes JQuery
evil05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 23h41   #4
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Ca m'intéresse de savoir comment tu as lu ton xml en PHP ; moi, ce que j'avais fait, c'est :
Code :
1
2
3
4
5
 $dom = new DomDocument('1.0');
 $url=---; 
 $res=$dom->load($url);   
 $listeText = $dom->getElementsByTagName('text');
 etc.
et pour loader le xml via l'url, il fallait "setter" le parmètre "allow_url_fopen" de php.ini (et ini_set ne marche pas sur ce paramètre)
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 10h00   #5
Expert Confirmé Sénior
 
Inscription : septembre 2004
Messages : 5 092
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 092
Points : 7 020
Points : 7 020
Citation:
Envoyé par evil05 Voir le message
Alors mon code s'exécute correctement sans problème, mais le problème que j'ai c'est que mon fichier catalogue existe dans un serveur et quand je remplace la ligne
Code :
1
2
 
xmlhttp.open("GET","catalogue.xml",false);
par :
Code :
1
2
 
xmlhttp.open("GET","http://www.w3schools.com/xml/cd_catalog.xml",false);
Sur un autre serveur => violation de la same-origin policy, comme expliqué dans la section XML.
thelvin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h21.


 
 
 
 
Partenaires

Hébergement Web