ユーザーが初めてアプリを起動すると、アプリは Web から XML データを読み込みます。ただし、ユーザーがアプリを開くたびにデータをダウンロードする必要はありません。そこで、取得したばかりのデータで生成した新しい XML ファイルにデータを保存すると考えました。次に、ユーザーは、表示されているデータがキャッシュから読み込まれ、ボタンをクリックしてデータを同期し、最新のデータを取得できるという通知を受け取ります。
私の問題は、データをXMLファイルに保存することです。私はxmlSerializerでそれをやっていますが、1つのことを除いてうまくいきます。
これは私がいくつかのデータをシリアライズする方法です:
xmlSerializer.startTag(null, "imageURL");
xmlSerializer.text(((Node) imageURLList.item(0)).getNodeValue());
xmlSerializer.endTag(null, "imageURL");
私が今抱えている問題は、取得したXMLがこのように構築されていることです
root-element
elementwithAttribute START
data
elementwithAttribute END
elementwithAttribute START
data
elementwithAttribute END
root-element
ファイルの属性は、エントリの番号です
entry nr="1"
以下のようにしてみました
xmlSerializer.startTag(null, "rank nr=\""+i+"\"");
data
xmlSerializer.endTag(null, "rank");
しかし、これにより for ループから抜け出し、ランクが不適切に閉じられるまで最初のエントリのみが機能しました。このようにタグを閉じると
xmlSerializer.endTag(null, "rank nr=\""+i+"\"");
それは問題なく動作しますが、XML ファイルが希望どおりに表示されません。rank
シリアライザーがそれがの終了タグであることを知っていることをどのように達成できrank nr
ますか?