我在strings.xml
文件中写了以下内容:
<string name="game_settings_dragNDropMove_checkBox">Move by Drag&Drop</string>
我收到以下错误:
The reference to entity "Drop" must end with the ';' delimiter.
我怎样才能在strings.xml中写字符?
编码:
&
要避免错误,请使用提取字符串:
<string name="travels_tours_pvt_ltd"><![CDATA[Travels & Tours (Pvt) Ltd.]]></string>
Mac和Android工作室用户:
在string.xml或layout中键入诸如&之类的char,然后选择“Option”和“return”键。 Please refer the screen shot
对于特殊字符,我通常使用Unicode定义,对于'&'例如:\ u0026如果我是正确的。这是一个很好的参考页面:http://jrgraphix.net/research/unicode_blocks.php?block=0
这是我的问题,我的解决方案如下:使用>
为<
,<
for >
,&
为&
,"'"
为'
,"
为\"\"
即使你的问题得到了解答,我仍然希望告诉更多像这样的实体。这些是html entities
,所以在android中你会写它们像:
替换如下:
& with &
> with >
< with <
" with ", “ or ”
' with ', ‘ or ’
} with }
您可以在此页面中找到所有HTML特殊字符http://www.degraeve.com/reference/specialcharacters.php只需替换要放置该字符的代码即可。 :-)
它应该是这样的:
<string name="game_settings_dragNDropMove_checkBox">Move by Drag&Drop</string>
也可以将字符串的内容放入XML CDATA,就像Android Studio为你做的那样Extract string resource
<string name="game_settings_dragNDropMove_checkBox"><![CDATA[Move by Drag&Drop]]></string>
这可能很老了。但对于那些寻找快速代码的人。
public String handleEscapeCharacter( String str ) {
String[] escapeCharacters = { ">", "<", "&", """, "'" };
String[] onReadableCharacter = {">", "<", "&", "\"\"", "'"};
for (int i = 0; i < escapeCharacters.length; i++) {
str = str.replace(escapeCharacters[i], onReadableCharacter[i]);
} return str;
}
处理转义字符,您可以在各自的数组上添加字符和符号。
-干杯
你可以这样写
<string name="you_me">You & Me<string>
输出:你和我