zapisywanie znaków, takich jak „<”, w pliku xml

105

od początku swojego programowania używałem w Eclipse znaków specjalnych, takich jak "<-", "" << "im mój string.xml podczas tworzenia aplikacji na Androida.

Wszystko działało dobrze przez rok, ale dzisiaj chciałem tylko wprowadzić drobne zmiany i zacząłem edytować moje pliki xml.

Otrzymuję teraz błąd kompilacji tych znaków, ponieważ eclipse uważa, że ​​jest to część bloków xml.

Masz pomysł, jak dodać ten symbol „<” do moich plików xml?

Bardzo dziękuję.

Waza_Be
źródło
Masz na myśli ucieczkę xml <= & lt; itp.? A może coś bardziej skomplikowanego?
Rup

Odpowiedzi:

275

Posługiwać się

&lt; dla <

&gt; dla >

&amp; dla &

reece
źródło
1
Dziękuję… Czuję się głupio, bo szukam „większego niż” z powodu mojego złego angielskiego… Po wyszukiwaniu na „większe niż” znalazłem odpowiedź… Przy okazji, wielkie dzięki.
Waza_Be
2
Są to jednostki znaków XML. XML nie obsługuje wszystkich jednostek, które obsługuje HTML.
Tanner Swett
co za $ (znak dolara)?
Błędy wydarzyły się
25

Inny sposób wstawiania znaków specjalnych postępuj zgodnie z poradnikiem Moss : Jak napisać znak & w Androidzie strings.xml przy użyciu definicji Unicode :

Przykład:

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

który występuje w ciągu:

< Item Unknown >
NguyenDat
źródło
Najlepsza odpowiedź, aby rozwiązać problem <i> w systemie Android Axml, ponieważ & lt and & gt nadal nie jest rozpoznawany jako ważny token
jace
1
To rozwiązanie zadziałało dla mnie znacznie lepiej niż poprzednie. Dzięki!
Jan Radzikowski
3

Natknąłem się na to pytanie, kiedy używam znaczników HTML w moich napisach.

Jeśli zajrzysz do dokumentacji zasobów ciągów znaków systemu Android , w sekcji „Stylowanie za pomocą znaczników HTML” zobaczysz, że w pliku strings.xml musisz użyć & lt; dla otwierającego nawiasu, ale możesz bezpiecznie użyć odwrotnego ukośnika i zamykającego nawiasu. Na przykład:

<b>Text</b>

można zapisać jako:

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

w twoim strings.xml.

Jeśli używasz tego ciągu HTML w swoim kodzie, możesz użyć:

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

a wynikiem będzie pogrubiony napis!

Xebozone
źródło