Android 何时转义字符串资源中的实体?

Android 何时转义字符串资源中的实体?,android,xml,android-resources,Android,Xml,Android Resources,我对其中的一些问题感到困惑,尤其是在HTML方面 在正常的XML编码规则下,考虑下面的编码-< /P> a。“Foo&Bar” Foo&;酒吧 b。“富吧” Foo&;amp;酒吧 c。“富吧” foob&;amp/b酒吧 但是由于粗体标记可以作为XML DOM的一部分,显然您可以- <string name="d">Foo <b>&amp;</b> Bar</string> Foo&;酒吧 这就是我感到

我对其中的一些问题感到困惑,尤其是在HTML方面

在正常的XML编码规则下,考虑下面的编码-< /P> a。“Foo&Bar”

Foo&;酒吧
b。“富吧”

Foo&;amp;酒吧
c。“富吧”

foob&;amp/b酒吧

但是由于粗体标记可以作为XML DOM的一部分,显然您可以-

<string name="d">Foo <b>&amp;</b> Bar</string>
Foo&;酒吧
这就是我感到困惑的地方,因为这就好像一个字符串可以是HTML纯文本,而没有任何明确的意图指示

因此,我的问题是,使用一个结合上述内容的案例:

要对html字符串“Foo&;Bar&;Baz”进行编码,第一个和第二个符号的规则是否不同?我要这样做吗-

<string name="e">Foo &amp; Bar <b>&amp; Baz</b></string>
Foo&;酒吧及酒店;巴兹
还是这个-

<string name="f">Foo &amp;amp; Bar <b>&amp; Baz</b></string>
Foo&;amp;酒吧及酒店;巴兹
“f”看起来很疯狂,但如果答案是“e”,那么解码器怎么知道不需要像示例“a”中那样解码符号?仅仅因为字符串有子元素

请注意,我问这个问题不是因为我在编码字符串,而是因为我在解析字符串。我对“使用CDATA”之类的解决方案不感兴趣,我只是想了解规则。

显示

福安;酒吧及酒店;巴兹

使用:

Foo&;amp;酒吧及酒店;amp;巴兹;
以显示

福安;酒吧及酒店;巴兹

使用:

Foo&;amp;酒吧及酒店;amp;巴兹;

我想你误解了这个问题。我问的是元素的内容,而不是如何转义整个XML源代码。您仍然需要使用&;amp;字体:粗体,&;仅显示符号“&”的符号。用Eclipse测试。我想你误解了这个问题。我问的是元素的内容,而不是如何转义整个XML源代码。您仍然需要使用&;amp;字体:粗体,&;仅显示符号“&”的符号。使用Eclipse进行测试。
<string name="d">Foo <b>&amp;</b> Bar</string>
<string name="e">Foo &amp; Bar <b>&amp; Baz</b></string>
<string name="f">Foo &amp;amp; Bar <b>&amp; Baz</b></string>
 <string name="f">Foo &amp;amp; Bar <b>&amp;amp; Baz</b></string>;