запись некоторых символов, таких как '<', в файл xml

105

с самого начала я использовал специальный символ вроде «<-», «<< <<» в моем string.xml в Eclipse при разработке для Android.

В течение года все работало нормально, но сегодня я просто хотел внести незначительные изменения и начал редактировать свои файлы xml.

Теперь я получаю ошибку компиляции для этих символов, потому что eclipse считает, что это часть блоков xml.

Есть идеи, как добавить этот символ «<» в мои файлы xml?

Спасибо большое.

Waza_Be
источник
Вы имеете в виду экранирование xml <= & lt; и т.д.? Или что-то посложнее?
Rup

Ответы:

275

Использовать

&lt; для <

&gt; для >

&amp; для &

рис
источник
1
Спасибо ... Я чувствую себя глупо, потому что я ищу "больше, чем" из-за моего плохого английского ... После поиска на больше чем я нашел свой ответ .. Большое спасибо, кстати.
Waza_Be 02
2
Они представляют собой символьные объекты XML. XML не поддерживает все сущности, которые поддерживает HTML.
Tanner Swett 07
что за $ (знак доллара)?
Bugs Happen
25

Другой способ вставить специальный символ, следуйте руководству Moss : Как я могу написать символ & в android strings.xml , используя определение Unicode :

Пример:

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

которые присутствуют в строке:

< Item Unknown >
NguyenDat
источник
Лучший ответ для решения проблемы <и> на android axml, поскольку & lt и & gt все еще не распознаются как действительный токен
jace
1
Это решение сработало для меня намного лучше, чем предыдущее. Спасибо!
Ян Радзиковски
3

Я наткнулся на этот вопрос, поскольку использую разметку HTML в своих строках.

Если вы обратитесь к документации по строковым ресурсам Android , в разделе «Стилизация с разметкой HTML» вы увидите, что в strings.xml необходимо использовать & lt; для открывающей скобки, но вы можете спокойно использовать обратную косую черту и закрывающую скобку. Например:

<b>Text</b>

можно записать как:

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

в вашем strings.xml.

Если вы используете эту HTML-строку в своем коде, вы можете использовать:

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

и на выходе будет ваша жирная строка!

Xebozone
источник