écrire des caractères comme «<» dans un fichier xml

105

depuis le début de ma programmation, j'ai utilisé des caractères spéciaux comme "<-", "" << "dans mon string.xml dans Eclipse lors du développement pour Android.

Tout a bien fonctionné pendant un an, mais aujourd'hui, je voulais juste apporter des modifications mineures et j'ai commencé à éditer mes fichiers xml.

J'obtiens maintenant une erreur de compilation sur ces caractères car eclipse pense que cela fait partie des blocs xml.

Une idée sur la façon dont je pourrais ajouter ce symbole "<" dans mes fichiers xml?

Merci beaucoup.

Waza_Be
la source
Vous voulez dire xml s'échappant <= & lt; etc.? Ou quelque chose de plus compliqué?
Rup

Réponses:

275

Utilisation

&lt; pour <

&gt; pour >

&amp; pour &

reece
la source
1
Merci ... Je me sens stupide parce que je cherche "plus grand que" à cause de mon mauvais anglais ... Après une recherche sur plus grand que, j'ai trouvé ma réponse .. Merci beaucoup btw.
Waza_Be
2
Ce sont des entités de caractères XML. XML ne prend pas en charge toutes les entités que HTML prend.
Tanner Swett
à quoi sert $ (signe dollar)?
Bugs Happen
25

Une autre façon d'insérer un caractère spécial suit le guide Moss : Comment puis-je écrire un caractère dans android strings.xml en utilisant la définition Unicode :

Exemple:

<string name="item_unknown">\u003c Item Unknown \u003e</string>

qui présente dans la chaîne:

< Item Unknown >
NguyenDat
la source
Meilleure réponse pour résoudre le problème <et> sur Android axml puisque & lt et & gt ne sont toujours pas reconnus comme des jetons valides
Jace
1
Cette solution a fonctionné beaucoup mieux pour moi qu'au-dessus d'un. Merci!
Jan Radzikowski
3

Je suis tombé sur cette question, car j'utilise le balisage HTML dans mes chaînes.

Si vous vous référez à la documentation Android String Resources , dans la section: «Styling with HTML markup», vous verrez que dans strings.xml, vous devez utiliser & lt; pour un support ouvrant, mais vous pouvez utiliser en toute sécurité une barre oblique inverse et un support de fermeture. Par exemple:

<b>Text</b>

peut s'écrire:

&lt;b>Text&lt;/b>

dans votre strings.xml.

Si vous utilisez cette chaîne HTML dans votre code, vous pouvez utiliser:

Html.fromHtml( getResources().getString(R.string.yourHTMLString ) 

et la sortie sera votre chaîne en gras!

Xebozone
la source