0

我正在尝试将字符 '<' '>' 放入字符串资源中。

如果我在字符串中使用 HTML 编码:

&lt;&gt; 

它在第一个版本中工作。但是,在项目的另一个构建之后,某些东西会自动将其转换为:

&amp;lt;&amp;gt;

所以我不能使用以前的编码......

尝试在字符串中放入“<”甚至“\<”会产生 XML 错误。

尝试使用 CDATA 将具有与上述相同的行为。

我如何在这个废话中加上“<”或“>”字符?

更新

我添加了“eclipse”标签,因为经过一些讨论,这似乎是一个 eclipse 问题——一些东西会自动编辑我的 XML 文件。更新后的问题是 - 为什么 eclipse 有时会弄乱我的 strings.xml 文件并尝试自行编码特殊字符?

4

2 回答 2

2

这应该工作
<string name="angle_bracket">
<![CDATA[
<
]]>
</string>

如果不是,那么问题出在您项目中的其他地方。(你可以通过在一个新的 android 项目中尝试它来确定)

于 2013-07-25T00:26:42.330 回答
0

我当前的解决方法是在我的 Java 类中使用硬编码字符串。

String s = "<M>";
mTextView.setText(s);

另一个明显的给定答案(使用 CDATA)在理论上是正确的,所以我会 +1,但它在几个构建周期后无法在我的 Eclipse 环境中工作,因为 Eclipse 将 CDATA 部分转换为编码字符串(然后是我的字符串在我的应用程序中显示“CDATA ...”)。

由于我还没有找到更清洁的解决方案,这就是答案。

于 2013-07-31T13:59:56.843 回答