1

xml ファイルからデータをロードするアン​​ドリッド アプリケーションを作成しています。問題は、xml ファイルが正しく処理されず、そのためにシリアル化できないことです。問題はファイルのエンコーディングに関連していると思います。

xml ファイルの作成方法を教えてください。Eclipse から [新規] -> [ファイル] -> をクリックし、空白の xml を作成してから、必要な情報を入力しました。

エディターで xml がどのように表示されるかを次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<data>
<categories>
    <category value="Inbox"/>
    <category value="Private"/>
    <category value="Work"/>
    <category value="Business"/>
</categories>

<todos>
    <todo>
        <id>1</id>
        <text>Explore the app!</text>
    </todo>

    <todo>
        <id>2</id>
        <text>Add more todos!</text>
       <date>2013-05-09 12:21:55 CET</date>
   </todo>
</todos>
</data>

res/xml から xml ファイルを取得し、そのファイルを入力ストリームにロードします。その後、String コンストラクターを使用してファイルを String に変換しています。

Javaコードは次のとおりです。

    InputStream is = getResources().openRawResource(R.xml.startingdata);
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    int next = is.read();
    while (next > -1) {
        bos.write(next);
        next = is.read();
    }
    bos.flush();
    byte[] result = bos.toByteArray();
    xmldata = new String(result,"UTF-8");

このステップの後、新しい xmldata をトーストに表示して、その外観を確認します。ただし、データの一部に加えて、いくつかの奇妙な文字を受け取ります。私が間違っていることは何ですか?前もって感謝します!奇妙なトースト結果を表示するために、テスト デバイスからの画像を添付します。

ここに画像の説明を入力

4

1 に答える 1

1

XML のエンコーディングを UTF 8 に設定する必要があります。ファイルを右クリックし、ドロップダウンから [ファイル エンコーディング] を設定してください。

于 2013-05-09T14:24:00.310 に答える