Rechercher : dans
Par :

[XML] caractère & dans fichier xml

Dernière réponse le 29 jun 2004 à 14:01:17 grusonii, le 29 jun 2004 à 09:45:12 
 Signaler ce message aux modérateurs

Bonjour,
Je parse un fichier XML et dans une balise <description> j'ai un "&" c'est à dire &.
Quand le parser trouve ce caratère ca m'affiche n'importe quoi.

Affichage normal :

Titre
description
Titre
description
Titre
description

Affichage obtenue :

Titre
dexcription (qui s'arrete avent le &)

Titre (vide)
description (juste le &)

Titre (vide)
dexcription (après le &)

Voilà. J'espère que c'est claire.
MErci de votre aide

Meilleures réponses pour « [XML] caractère & dans fichier xml » dans :
Supprimer un fichier contenant des caractères spéciaux VoirSi le fichier que vous souhaitez supprimer commence par un caractère "moins" (-), la commande rm risque de prendre la suite comme une option de la ligne de commande. Pour y remédier, une première solution consiste à faire précéder le nom du...
Introduction à XML VoirPrésentation de XML XML (entendez eXtensible Markup Language et traduisez Langage à balises étendu, ou Langage à balises extensible) est en quelque sorte un langage HTML amélioré permettant de définir de nouvelles balises. Il s'agit effectivement...
Structure d'un document XML VoirQu'est-ce que le XML? La norme XML en tant que telle doit être vue comme un outil permettant de définir un langage (on dit alors qu'il s'agit d'un métalangage), permettant de créer des documents structurés à l'aide de balises. Une balise est une...
Linux - L'éditeur Vi VoirIntroduction à Vi Vi est un des éditeurs de texte les plus populaires sous les systèmes de type Unix (avec Emacs et pico) malgré son ergonomie très limitée. Sous Linux il existe une version libre de Vi appelée Vim (Vi Improved). Vi (prononcez...

1

teebo, le 29 jun 2004 à 10:14:12

Salut,
Non c'est pas tres clair j'avoue :o(
Tu as un DTD /XSD?
Tu veux pas donner un exemple plus concret?

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre

Répondre à teebo

2

Canard007, le 29 jun 2004 à 10:15:11

L'affichage normal c'est quand tu vire le &?
tu le parse comment ton fichier?

Répondre à Canard007

3

teebo, le 29 jun 2004 à 10:16:11

En fait, le mieux ca serait de donner la partie de ton XML, de ton XSL et du resultat concernee :o)

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre

Répondre à teebo

4

grusonii, le 29 jun 2004 à 10:22:33

3 titres sont affichés. Quand il n'y a pas de "&" tout ce passe bien.
Dans le xml j'ai bien le caractère & qui est traduit en &

. Titre
Parution du n° 2-2004
. (titre vide)
&
. (titre vide)
suite description

Répondre à grusonii

5

grusonii, le 29 jun 2004 à 10:24:51

J'ai oublié :
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="0.91">

Répondre à grusonii

6

teebo, le 29 jun 2004 à 10:27:46

Il est comment ton XML au debut? Avant le parsing (en texte quoi...)?

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre

Répondre à teebo

7

grofwa, le 29 jun 2004 à 10:28:24

Bonjour à toi.

Les caractères < et & ne peuvent pas être utilisés dans le texte d'un fichier XML. Essaie de les remplacer par < et & respectivement.

Michael.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]

Répondre à grofwa

9

teebo, le 29 jun 2004 à 10:37:45

& amp; je suppose?

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre

Répondre à teebo

10

grofwa, le 29 jun 2004 à 10:40:04

GASP, oui !

& amp;
(sans espace)
et
& lt;
(pareil)

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]

Répondre à grofwa

12

teebo, le 29 jun 2004 à 10:40:55

Il est interprete, j'ai ete oblige de coller un espace, ou alors il faut utiliser la balise code je crois :o)

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre

Répondre à teebo

13

grofwa, le 29 jun 2004 à 10:48:45

Marche malheureusemt pas avec la balise code :-(
De toute façon, il y aura toujours des problèmes avec ces ampersand et autres balises utilisées à la fois dans le langage servant à coder et le texte servant de support au contenu.
Longue discussion en perspective ;-)

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]

Répondre à grofwa

8

grusonii, le 29 jun 2004 à 10:34:18

<description>Parution du n° 2-2004 de josette & Co. sur la base de la première édition</description>

Si je le remplace& par &, ca fonctionne pas bien sûr.

Répondre à grusonii

11

teebo, le 29 jun 2004 à 10:40:23

Essaye d'ecrire une DTD (si elle n'existe pas) en mettant CDATA pour description

( http://www.w3schools.com/dtd/dtd_building.asp )

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre

Répondre à teebo

14

grusonii, le 29 jun 2004 à 10:55:53

Si j'ajoute le CDATA il ne parse pas cette description et passe au suivant.

Répondre à grusonii

15

grusonii, le 29 jun 2004 à 11:01:48

Bon, je rectifie
<description>Parution du n° 2-2004 de josette & amp; Co. sur la base de la première édition</description>

Si je le remplace& par & amp; , ca fonctionne pas bien sûr.

Répondre à grusonii

17

teebo, le 29 jun 2004 à 11:19:49

Pour que ca marche il faut que tu definisses une entite dans ton XML ou ton DTD...
Ou alors il faut utiliser le code brut de & (a rechercher, je me souviens plus...)


.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre

Répondre à teebo

19

teebo, le 29 jun 2004 à 11:21:49

Ha merde, il est predefini, c'est donc pas le probleme...
Ton output est en texte ou en HTML? Si c'est en HTML il se fait bouffer par le code HTML, attend j'avais eu le meme probleme, je recherche...

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre

Répondre à teebo

20

teebo, le 29 jun 2004 à 11:29:58

Ben non j'avais utiliser & amp; tout simplement et ca faisait un &

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre

Répondre à teebo

21

grusonii, le 29 jun 2004 à 13:38:24

Bon bin avec <![CDATA[ le texte avec & amp ]]>
Ca fonctionne.
Il y a pas une autre solution ?

Répondre à grusonii

22

teebo, le 29 jun 2004 à 13:46:36

Pas plus simple a priori...
Ou alors une balise xml a la place du & ( par exemple <and/> que tu transforme en & dans ton XSL...)

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre

Répondre à teebo

23

 grusonii, le 29 jun 2004 à 14:01:17

Merci beaucoup de votre aide.

Répondre à grusonii

16

grofwa, le 29 jun 2004 à 11:04:14

Tu as bien retiré l'espace entre ton & et amp ?
Tu utilises quoi pour parser ton fichier ?

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]

Répondre à grofwa

18

grusonii, le 29 jun 2004 à 11:20:36
Répondre à grusonii
Collection CommentÇaMarche.net