Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

xml parseur

4 réponses
Avatar
remy
bonjour

org.xml.sax.SAXParseException: Content is not allowed in prolog.

j'ai cette erreur qd je rajoute dans mon fichier xml

<?xml version= "1.0" encoding="UTF-16" ?>

qd je passe en 8 bits ou qd il n'y a pas cette ligne
ça fct bien mais j'ai pas droit au caractere accentue
et cela ne me va pas vous avez une idee ?

et dans la foulee je voudrais savoir si l'on peut mettre des retours
chariot dans un champ xml mais bon cela doit etre lie au format encodage

exemple

<info val= "nom dgdfgdsfg
email fgsdfhgdfhgs
add fdgfhdfh"
/>
merci et cela sera tout :-)



<?xml version= "1.0" encoding="UTF-16" ?>
<plateau>
<taille largeur= "800" hauteur= "600" />
<img nom="C:\Mes documents\Mes images\test.jpg" posx= "78" posy= "149" />
<img nom="C:\Mes documents\Mes images\test1.jpg" posx= "256" posy= "124" />
</plateau>

//******************
public class Parser extends org.xml.sax.helpers.DefaultHandler
{

java.util.Vector img=new java.util.Vector();
java.util.Vector cible=new java.util.Vector();
java.util.Vector bruit=new java.util.Vector();
String info;
Dimension d;


public void startElement (String uri, String localName, String
qName, Attributes att)
{
String txt;

if(qName.equals("taille"))
{

d=new
Dimension(Integer.parseInt(att.getValue("largeur")),Integer.parseInt(att.getValue("hauteur")));
}
if(qName.equals("img"))
{
txt=att.getValue("nom");
img.add(txt);
txt=att.getValue("posx");
img.add(txt);
txt=att.getValue("posy");
img.add(txt);
}
if(qName.equals("cible"))
{
txt=att.getValue("nom");
cible.add(txt);
txt=att.getValue("posx");
cible.add(txt);
txt=att.getValue("posy");
cible.add(txt);
txt=att.getValue("texte");
cible.add(txt);

}
if(qName.equals("bruit"))
{
txt=att.getValue("val");
bruit.add(txt);

}
if(qName.equals("info"))
{
info=att.getValue("val");
// System.out.println("parseur "+info);

}

}
public Vector getVectorImg()
{
return img;
}
public Vector getVectorCible()
{
return cible;
}
public Vector getVectorBruit()
{
return bruit;
}
public Dimension getDimension()
{
return d;
}
public String getInfo()
{
return info;
}
}



--
des conneries j'en ai dites oui oui je vous assure...
mais elles n'engagent que votre perception
remy

4 réponses

Avatar
TestMan
Bonjour,
org.xml.sax.SAXParseException: Content is not allowed in prolog.

j'ai cette erreur qd je rajoute dans mon fichier xml

<?xml version= "1.0" encoding="UTF-16" ?>

qd je passe en 8 bits ou qd il n'y a pas cette ligne
ça fct bien mais j'ai pas droit au caractere accentue
et cela ne me va pas vous avez une idee ?


En premier vérifier que le BOM est bien stocké en UTF-16 :
http://forum.java.sun.com/thread.jspa?forumID4&threadIDI1010

Ensuite vérifier avec un éditeur hexa que le fichier source ne contient
pas de caractères spéciaux dans le prologue.

Sinon, pour faire plus vite: reste en UTF-8 !
UTF-8 est exactement parreil que UTF-16 en terme de caractères que l'ont
peut stocker. Ce sont simplement 2 façons différentes de stocker
physiquement là même chose. De plus UTF-8 est le codage par défaut, et
sauf raison bien précise je te conseille de le conserver.

Pour ce qui est du XML la spec du w3c est une bonne lecture de chevet :

http://www.w3.org/TR/REC-xml/


A+
TM

Avatar
remy
Bonjour,
org.xml.sax.SAXParseException: Content is not allowed in prolog.

j'ai cette erreur qd je rajoute dans mon fichier xml

<?xml version= "1.0" encoding="UTF-16" ?>

qd je passe en 8 bits ou qd il n'y a pas cette ligne
ça fct bien mais j'ai pas droit au caractere accentue
et cela ne me va pas vous avez une idee ?


En premier vérifier que le BOM est bien stocké en UTF-16 :
http://forum.java.sun.com/thread.jspa?forumID4&threadIDI1010



c'est quoi ce que tu appelles le "bom" ?

Ensuite vérifier avec un éditeur hexa que le fichier source ne contient
pas de caractères spéciaux dans le prologue.

Sinon, pour faire plus vite: reste en UTF-8 !
UTF-8 est exactement parreil que UTF-16 en terme de caractères que l'ont
peut stocker. Ce sont simplement 2 façons différentes de stocker
physiquement là même chose. De plus UTF-8 est le codage par défaut, et
sauf raison bien précise je te conseille de le conserver.

Pour ce qui est du XML la spec du w3c est une bonne lecture de chevet :

http://www.w3.org/TR/REC-xml/


A+
TM



--
des conneries j'en ai dites oui oui je vous assure...
mais elles n'engagent que votre perception
remy


Avatar
TestMan
Bonjour,

<...>
En premier vérifier que le BOM est bien stocké en UTF-16 :
http://forum.java.sun.com/thread.jspa?forumID4&threadIDI1010


c'est quoi ce que tu appelles le "bom" ?


As-tu lu et suivit le lien ?
Si oui, alors tu as certainement vu un autre lien locace sur le sujet :
http://www.i18ngurus.com/encyclopedia/byte_order_mark.html

Bonne lecture ;-)

A++
TM


Avatar
remy
Bonjour,

<...>
En premier vérifier que le BOM est bien stocké en UTF-16 :
http://forum.java.sun.com/thread.jspa?forumID4&threadIDI1010


c'est quoi ce que tu appelles le "bom" ?


As-tu lu et suivit le lien ?
Si oui, alors tu as certainement vu un autre lien locace sur le sujet :
http://www.i18ngurus.com/encyclopedia/byte_order_mark.html

Bonne lecture ;-)


oui

donc pour la solution

BufferedWriter file = new BufferedWriter(new FileWriter(s));
file.write("<?xml version="1.0" encoding="iso-8859-1" ?> ");

j'ai pu mettre un trema dans le nom d'une img

merci remy




A++
TM



--
des conneries j'en ai dites oui oui je vous assure...
mais elles n'engagent que votre perception
remy