-
Fichier xml non conforme
bonjour,
j'ai une application générateur qui me donne comme résultat un fichier xml
mais il me semble que ce fichier est non conforme
lorsque je l'ouvre avec IE ça va
mais avec bloc note l'affichage n'est pas bien fait
il m'affiche tout le fichier sur 2 lignes
j'ai une autre application qui nécessite ce fichier xml
elle fonctionne pas avec celui produit avec mon application générateur
mais avec un autre fichier xml fait manuellement
elle focntionne nickel
mais je sais pas peut etre codage xml...
parceque j'ai un xml qui marche
je l'ouvre avec bloc note
ça s'ouvre normalement ,mais l'autre il s'affiche sur 2 lignes
pourtant le meme contenu et meme si je copie le contenu du fichier qui marche dans celui qui ne marche pas
-
Le bloc note de windows ne gère juste pas les retour à la ligne te type \n, il ne gère que les retours à la ligne "windows" (\n\r). Aucun problème en soit. Si ton application finale refuse le xml, ce serait bien de donner le message renvoyé par l'application (balise manquante ou autre). Eventuellement, attache ton fichier xml ici et on te dira ce qui est incorrect (si tant est que c'est la stucture qui est incorrecte, pas son contenu)
-
mais nonnn :?
j'ai dis que j'ai fait copié coller à partir du fichier xml qui fonctionne dans celui qui fonctionne pas et ce dernier n'as pas fonctionné
2- je connais bien la structure et les balises xml
c'est pas question de balise
-
Si tu postais déjà le fichier qui marche pas et le fichier qui est 'le même mais pourtant lui il marche' on pourrait peut etre te dire où est la différence?
-
1 pièce(s) jointe(s)
ok
c'est celui qui marche pas
Pièce jointe 31189
-
j'ai besoin des deux fichiers pour voir ce qui peut foirer :)
-
mais c'est le meme contenu
-
si c'est le "meme" t'aurais pas 2 fichiers différents, un qui marche et un qui marche pas!
-
non c'est pas le meme,
les retour chariot sont pas les memes (les caracteres que tu ne vois pas).
comme dit plus haut, windobe ne gere que les \r\n .
ce qui a du se produire, c'es que tu as sortit ton fichier avec seulement des \n
tu l'as ouvert, il t'affiche 2 ligne
tu as pris le contenu et tu l'as sauvegarder avec un autre étditeur et cette éditeur a changer tout les \n en \r\n.
et hop magie, tout est bien présenter
mais bon, globalement, c'est pas grave
je pense (si je me souviens bien) que si tu veux avoir des \r\n tu dois utiliser
TextUtilites.getCharacterEndLine ou une fonction de ce genre.
a++
-
les retours à la ligne ne devraient pas influencer la parsabilité de son fichier xml dans son application finale
-
tout d'abord e veux savoir la différence entre \n et \r\n
puis
j'ai vu le code source en vb.net j'ai trouvé que les retour chariot sont fait par chr(13)
et pour la copie,
j'ai copié à aprtir du fichier qui marche dans celui qui marche pas
et celui qui marche n'est bien affiché sur 2 lignes que ce soit dans le premier ou dans le deuxième fichier.
autre question svp
supposant en c++ je veux écrire un fichier xml
j'écrit ça
std::ofstream ofs ("fichier.xml");
ofs<<"<?xml version=\"1.0\" encoding=\"UTF-8\" ?> "<<endl;
ou bien je doit ajouté le \r\n
ofs<<"<?xml version=\"1.0\" encoding=\"UTF-8\" ?> "<<"\r\n"<<endl;
merci
-
\n : linefeed
\r: carriage return
C'est un vieil héritage des machine à écrire, ou pour faire une nouvelle ligne il fallait faire deux chose: faire descentre le rouleau (linefeed) et faire revenir en marge de gauche (carriage return).
L'histoire suivant son chemin, c'est ce que DOS puis windows on adopté pour le retour à la ligne à l'affichage console, qui lui même s'est retrouvé utilisé dans notepad comme "retour à la ligne".
Les application en C/C++ utilisent \n comme retour à la ligne.
Le format xml ne fait pas la différence entre \n, \r, espace , tabulation. Tout çà sont des caractères de texte blanc. Donc ton \r\n ne devrait pas avoir d'influence sur le parsing de ton fichier xml dans ton application finale, sion c'est que le parseur est foireux.
-
alors pour l'application c'est pas la peine de faire \r\n
c'est ça?
et pour le vb.net et chr(13) je fait quoi???
-
heu...
en c++ il existe des librairies pour faire du xml facilement , cela gere les noeuds et companies, etc..etc..
parce que faire out << "<lskdjfsl>" << ... , c'est sacrement bien foireux comme code.
et ch(13), tu en fais ce que tu veux , comme dit plus haut, les carachteres \n \r \n\r et autre ch(13), ce sont juste des truc pour rendre le fichier plus lisible pour l'humain mais pas pour la machine.
-
mais mon probleme c'est dans chr(13) dans vb.net
comment je peux corriger ça?
-
Hum... Et quel est le rapport avec Java ? :sm:
Me faut-il deplacer ce message dans un forum .Net ou XML ?