无法在Android版本2.1中解析标记<! - [CDATA []] - >

时间:2012-03-02 03:41:11

标签: android xml

让我们谈谈......

我创建了一个Android应用程序,其目标是Google API(平台2.2)。 我想解析来自REST API的XML文件。

XML文件喜欢这个:

<title>EARTH WIND & FIRE Live in Concert</title>

我将该输出存储在我的String变量中,我可以在以后使用,因为输出是XML格式,我当然使用XML Parser类。 正如你所看到的,因为XML格式的规则不允许裸体角色,在这种情况下我的'&amp;'字符,它将显示:

<title>EARTH WIND &amp; FIRE Live in Concert</title>

所以我用这种方法改变了这个角色:xml.replaceAll("&amp;", "<![CDATA[&]]>"); xml是String,我将&amp;替换为<![CDATA[&]]>标记。 我遵循这个:Android how to parse CDATA TAG? 它说我必须使用 dbf.setCoalescing(true);

一切顺利,在我的TextView中显示 EARTH WIND&amp; FIRE Live in Concert 。 &符号(&amp;)显示在我的模拟器(平台2.2)中。 但是,当我在设备(平台2.1)中尝试它时,它只会显示 EARTH WIND 。 我制作了新的模拟器Google API(平台2.1),它也显示了 EARTH WIND

这里有没有人遇到同样的问题? XML解析器或Android中的<![CDATA[]]>标记是否存在兼容性问题?

提前致谢...

1 个答案:

答案 0 :(得分:0)

在资源文件夹的String.xml中

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

如果要为textview访问此字符串:

 <TextView
            android:id="@+id/my_tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="@string/my_string"
            android:textColor="@android:color/white"
            android:textSize="14sp"
            android:textStyle="bold" />