Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML
XML Forum d'entraide sur XML avec PHP. Exemples : SimpleXML, OpenXML... Avant de poster -> FAQ XML, Cours XML et Sources XML
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 23/12/2010, 16h33   #1
Candidat au titre de Membre du Club
 
Inscription : octobre 2010
Messages : 111
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 111
Points : 14
Points : 14
Par défaut Erreur d'analyse XML

bonjour ,
je tape un code en php/DOM permettant d'afficher des donnees sur firefox a partir d'une bd locale , et j'obtiens l'erreure suivante :
Erreur d'analyse XML : instruction de traitement XML ou texte pas au début d'une entité externe
Emplacement : http://localhost/monsite/page1.php
Numéro de ligne 9, Colonne 1 :<?xml version="1.0" encoding="UFT-8"?>


je sais qu'il pointe sur la ligne <?xml version=..............
mais je ne vois pas l'erreure
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
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>mon document</title>
</head>
<?xml version="1.0" encoding="UFT-8"?>
<?php
$host="localhost";
$username="root";
$password="";
$database="mabase";
 
// Start XML file, create parent node
$doc=new DOMDocument("1.0");
$node=$doc->createElement("markers");
$parnode = $doc->appendChild($node);
 
// Opens a connection to a MySQL server
$connection=mysql_connect ($host, $username, $password);
if (!$connection) {
  die('Not connected : ' . mysql_error());
}
 
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
  die ('Can\'t use db : ' .mysql_error());
}
 
// Select all the rows in the markers table
$query = "SELECT * FROM markers";
$result = mysql_query($query);
if (!$result) {
  die('Invalid query: ' .mysql_error());
}
 
header("Content-type: text/xml");
 
// Iterate through the rows, adding XML nodes for each
while ($row = mysql_fetch_assoc($result)){
  // ADD TO XML DOCUMENT NODE
  echo $row['name'];
  $node = $doc->createElement("marker");
  $newnode = $parnode->appendChild($node);
 
  $newnode->setAttribute("name", $row['name']);
  $newnode->setAttribute("address", $row['address']);
  $newnode->setAttribute("lat", $row['lat']);
  $newnode->setAttribute("lng", $row['lng']);
  $newnode->setAttribute("type", $row['type']);
}
 
 
$res= $doc->saveXML();
echo $res;
?>
</html>
merci d'avance
freddy000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 18h03   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Hello

Il me semble que la balise <?xml doit être la première balise du document: http://en.wikipedia.org/wiki/XML

Elle doit venir avant le noeud racine.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 18h14   #3
Candidat au titre de Membre du Club
 
Inscription : octobre 2010
Messages : 111
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 111
Points : 14
Points : 14
hi
oui normalement y'a cette insctruction <?xml version="1.0" encoding="UTF-8"?> mais je l'ai essaye deja et ca donne toujours le meme resultat : erreur d'analyse xml
freddy000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 18h40   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Déjà, si tu veux visualiser du XML dans ton navigateur tu ferais bien de faire

Code :
1
2
3
 
$res= $doc->saveXML();
echo "<pre>" . htmlentities($res) . "</pre>";
Et d'enlever le node
Code :
<?xml version="1.0" encoding="UFT-8"?>
a la ligne 8.

Qu'est ce que ça donne ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 19h14   #5
Candidat au titre de Membre du Club
 
Inscription : octobre 2010
Messages : 111
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 111
Points : 14
Points : 14
ca ..........................maaaaaaaaaaaaarche

merci beaucoup Benjamin ,
Citation:
Déjà, si tu veux visualiser du XML
votre ptit deja a fait l'affaire ,

en fait meme avec echo $res ca marche , pas besoin d'ajouter <pre>" . htmlentities($res) . "</pre>"
freddy000 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 10h53.


 
 
 
 
Partenaires

Hébergement Web