今天在学习android的时候,某工程values目录有一个base-strings.xml的文件,
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="intro_message">
<![CDATA[
This sample shows you how to use ActionBarCompat to create a basic Activity which
displays action items. It covers inflating items from a menu resource, as well as adding
an item in code. Items that are not shown as action items on the Action Bar are
displayed in the action bar overflow.
]]>
</string>
</resources>
其中,CDATA这个标记不甚了解,百度得知:
CDATA DTD中的属性类型 全名:character data
在标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看待,CDATA的形式如下:
<![CDATA[文本内容]]> CDATA的文本内容中不能出现字符串“]]>”,另外,CDATA不能嵌套。
XML实例:
在CDATA标记中的信息被解析器原封不动地传给应用程序,并且不解析该段信息中的任何控制标记。
CDATA区域是由“<![CDATA["为开始标记,以“]]>”为结束标记,注意CDATA为大写。
结合以上程序和标记说明得之:
在上面的程序中,如果引用了名为(intro_message)的字符串,那么该字符串对应的值将原封不动的展示,而不用理会
它里面是否包含了其他标记。因为intro_message字符串使用了CDATA标记修饰。intro_message字符串将显示为:
This sample shows you how to use ActionBarCompat to create a basic Activity which
displays action items. It covers inflating items from a menu resource, as well as adding
an item in code. Items that are not shown as action items on the Action Bar are
displayed in the action bar overflow.