Schreiben einiger Zeichen wie '<' in eine XML-Datei

105

Seit Beginn meiner Programmierung habe ich in Eclipse ein Sonderzeichen wie "<-", "<<" in my string.xml verwendet, während ich für Android entwickelt habe.

Ein Jahr lang hat alles gut funktioniert, aber heute wollte ich nur ein paar kleine Änderungen vornehmen und begann meine XML-Dateien zu bearbeiten.

Ich erhalte jetzt einen Kompilierungsfehler für diese Zeichen, da Eclipse glaubt, dass es Teil der XML-Blöcke ist.

Irgendeine Idee, wie ich dieses Symbol "<" in meine XML-Dateien einfügen könnte?

Vielen Dank.

Waza_Be
quelle
Du meinst, XML entkommt <= & lt; etc.? Oder etwas komplizierteres?
Rup

Antworten:

273

Verwenden

&lt; zum <

&gt; zum >

&amp; zum &

reece
quelle
1
Danke ... Ich fühle mich dumm, weil ich wegen meines schlechten Englisch nach "größer als" suche ... Nach einer Suche nach "größer als" habe ich meine Antwort gefunden. Vielen Dank übrigens.
Waza_Be
2
Sie sind XML-Zeichenentitäten. XML unterstützt nicht alle Entitäten, die HTML ausführt.
Tanner Swett
Was ist für $ (Dollarzeichen)?
Fehler passieren
25

Eine andere Möglichkeit, Sonderzeichen einzufügen, folgt der Moss- Anleitung: Wie kann ich Zeichen & in android strings.xml mit der verwendeten Unicode-Definition schreiben :

Beispiel:

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

welche in string vorhanden sind:

< Item Unknown >
NguyenDat
quelle
Beste Antwort, um das Problem <und> auf Android Axml zu lösen, da & lt und & gt immer noch nicht als gültiges Token erkannt werden
Jace
1
Diese Lösung hat bei mir viel besser funktioniert als oben. Vielen Dank!
Jan Radzikowski
3

Ich bin auf diese Frage gestoßen, als ich HTML-Markup in meinen Zeichenfolgen verwendete.

Wenn Sie sich auf die Dokumentation zu Android String Resources beziehen , sehen Sie im Abschnitt: "Styling mit HTML-Markup", dass Sie in strings.xml & lt; für eine öffnende Klammer, aber Sie können sicher Backslash und eine schließende Klammer verwenden. Beispielsweise:

<b>Text</b>

kann geschrieben werden als:

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

in Ihrer strings.xml.

Wenn Sie diese HTML-Zeichenfolge in Ihrem Code verwenden, können Sie Folgendes verwenden:

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

und die Ausgabe wird Ihre fette Zeichenfolge sein!

Xebozone
quelle