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ę.


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 &


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 >

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!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.