1

Android で XML ファイルを解析し、コンテンツを SQLite データベースに保存しようとしています。私は現在、コードを読みやすくするために JDOM2 を使用しています。メモリに関する限り、サポートされているデバイスのローエンドにある Galaxy Nexus で解析がかなり迅速に行われるため、JDOM が問題になるとは思いません。関係が 1 対 1 の場合、データの取得、Sqlite データベースへの保存、読み取り、データを含むリストビューの生成に問題はありません。ただし、私が遭遇したXMLを解析するためのすべてのチュートリアルは1対1のXML構造を使用しているため、1対多および多対多でこれを行う方法については空白を描いています。 . 例として、解析する必要がある XML コードは次のようになります。

<Name name="Name 1">
    <Location>XYZ</Location>
    <Type>XYZ</Type>
    <Item name="Item 1">
        <SubItem name="XYZ"></SubItem>
        <SubItem name="XYZ"></SubItem>
    </Item>
    <Item name="Item 2">
        <SubItem name="XYZ"></SubItem>
        <SubItem name="XYZ"></SubItem>
    </Item>
</Name>
<Name name="Name 2">
    <Location>XYZ</Location>
    <Type>XYZ</Type>
    <Item name="Item 1">
        <SubItem name="XYZ"></SubItem>
        <SubItem name="XYZ"></SubItem>
    </Item>
    <Item name="Item 2">
        <SubItem name="XYZ"></SubItem>
        <SubItem name="XYZ"></SubItem>
    </Item>
</Name>

すべての名前、場所、およびタイプは 1 対 1 の関係しかないため、簡単に取得できます。それらはデータベースの 1 つのテーブルに保存されます。私がする必要があるのは、すべてのアイテムとサブアイテムを独自のテーブルに保存し、正しい名前にリンクすることです。これは私にとって問題を引き起こしています。おそらく私を失望させているのはロジックです。

別のパーサーを使用する必要がある場合は、XMLPullParser を使用して上記と同じ情報を取得できるので問題ありませんが、XML と Sqlite の両方に取り組むエントリーレベルの開発者として、JDOM2 の簡潔さと簡潔さが気に入っています。初めて一緒に。

実際に操作を実行するのにどれくらいの時間がかかるかは気にしません。ユーザーが自分のデータをアプリにインポートすることを選択した場合、それは 1 回限りのプロセスであり、私がメニューに埋め込むものです。XML はサードパーティ プログラムによって生成されているため、XML の形式を変更することもできません。これは、データをエクスポートするために選択した形式です。

4

0 に答える 0