您的位置:首页 > Web前端

【安卓学习之常见问题】 strings.xml 提示 The entity name must immediately follow the '&' in the entity referen 错误

2016-09-13 17:31 507 查看
通过Eclipse 添加一个字符串文件strings.xml:



1.问题描述

Error in an XML file: aborting build.

The entity name must immediately follow the ‘&’ in the entity reference.

PS: 很明显地指出了 使用 ‘&’ 导致 出错

2.分析原因:

在string.xml中如果想要显示特殊字符,如空格号、换行等字符,需要用到转义字符(如/n 代表换行)或者UNICODE编码(如\u00A0表示空格)来替代,前者可能兼容性没有那么好,通常使用后者,比较通用性,而且支持的字符集也更多

另外从网上搜索了点资料,可以作为参考

【在android的项目中要在string.xml 中显示特殊符号】
在android的项目中要在string.xml 中显示特殊符号、如@号冒号等、直接写
有时候不行,那么可以考虑使用ASCII码进行显示、在XML中空格符不是用HMTL中的表示、而是用编码表示
以上摘自:http://blog.csdn.net/wh_19910525/article/details/48088307


【我的Android进阶之旅------>android中一些特殊字符(如:←↑→↓等箭头符号)的Unicode码值】
在项目中,有时候在一些控件(如Button、TextView)中要添加一些符号,这个时候可以使用图片的方式来显示,不过这些可以直接使用Unicode码就直接显示出来了。
从网上找到了部分关于特殊符号的Unicode码值,记录下来,以备后用,如下所示:
用Android的string.xml中使用Unicode表示符号的话,就使用下面的JS相关的Unicode值即可
以上摘自:http://m.blog.csdn.net/article/details?id=50493004


因此这边的错误提示,是因为字符串【&# 160;&# 160;&# 160;&# 160;&# 160;Sms & Arama&# 160;&# 160;&# 160;&# 160;&# 160;】中的【Sms & Arama】中的【 & 】出现问题

PS:其中【&# 160】表示的是 ” “,即一个空格 的字符串意思,最终也是以一个空格显示出来

3.解决方法:

直接将 & 替换成 &



也可以将 & 替换成 & amp; 或者 \u0026 或者 \0026 (未测试,可以自己测试下,至少编译不会出错,呵呵)





4.再出个题:



以上是什么问题导致的?

其实这个题目有2个解决方案,其中一个就是本篇讲到的内容,还有一个方案就是 jdk的版本问题。

5.附上表格:

关于unicode编码都是/u开头,网上可以直接在线工具

关于转义字符,可以看下以下表格:



转载请注明出处:http://blog.csdn.net/ljb568838953/article/details/52527872
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android eclipse xml
相关文章推荐