Android字符串资源中的XML?

问题描述 投票:36回答:3

我想知道我是否可以在/res/values/strings.xml中放置XML?我问这个是因为我正在为我的应用程序检查XML数据文件,如果它还不存在,那么它将从默认内容创建它,该内容将作为字符串资源包含。

当使用GUI编辑字符串时,Eclipse会尝试将小于和大于标记的标记更改为相应的HTML实体。日食是否正确?因为我认为它也会作为HTML实体写入我的文件中。我可以使用getText()而不是getString()将实体转换回标签吗?

android xml string android-resources
3个回答
76
投票

是的,你可以,只需使用CDATA

<string name="stringName1"><![CDATA[<html>bla</html>]]></string>


2
投票

除非你在那里转义字符,例如<或>或&,否则它显然不会起作用。

如果您对XML进行编码,它应该可以正常工作,但可能不是最好的方法。我更喜欢二进制资源。


对于放入string.xml,您可以使用编码

String encoded = URLEncoder.encode(xml);

而解码恰恰相反。

对于二进制文件,将它放在RAW文件夹中,然后获得二进制流并将其转换为字符串并加载。


2
投票

我这样做了:

将您的字符串放在strings.xml中

<string name="my_string"><![CDATA[Your long text here]]></string>

如何使用:

<TextView
    android:id="@+id/textView"
    android:text="@string/my_string"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

完成

© www.soinside.com 2019 - 2024. All rights reserved.