1

我正在使用以下代码从存储在我的资产文件夹中的 XML 文件中读取数据。这是一个简单的 XML 文件,其结构如下。该文件有大约 10 个节点(总共大约 100 行)。但在我的 Galaxy S2 上,这段代码需要 10 秒才能执行。有没有办法更快地做到这一点?谢谢你!XML结构:

    <?xml version="1.0" encoding="utf-8"?>
<root>
    <node>
        <name>test</name>
        <picture>test1</picture>
        <thumbnail>asa</thumbnail>
        <location>fdsf</location>
        <description>sdfsd</description>
    </node>
    <node>
        <name>test</name>
        <picture>test1</picture>
        <thumbnail>asa</thumbnail>
        <location>fdsf</location>
        <description>sdfsd</description>
    </node>
    <node>
        <name>test</name>
        <picture>test1</picture>
        <thumbnail>asa</thumbnail>
        <location>fdsf</location>
        <description>sdfsd</description>
    </node>

    .......

</root>

和代码片段:

String XMLText = "";    
InputStream raw = getApplicationContext().getAssets().open(fileName);
            InputStreamReader inputStreamReader = new InputStreamReader(raw);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);


            String line = ""; 
            while ((line = bufferedReader.readLine()) != null) {
                XMLText += line;
            }
4

1 回答 1

0

您应该必须使用 SAX 解析器或XmlPullParser。如果您想将数据连接/附加到字符串,请使用StringBuilder而不是String类型。

于 2012-08-14T12:25:18.720 回答