Android を使用して XML ファイルから SQLite データベースにデータを入力したいと考えています。しかし、要素タグの名前をデータベースのフィールド名として使用するのではなく、要素の属性の値をデータベースのフィールド名(および場合によってはレコード値) およびコンテンツとして使用したいレコード値としてのサブ要素の。
XML のアイデアをいくつか提供して、明確にしておきましょう。
<xml version="1.0" encoding="utf-8" ?>
<itemset>
<item item_identifier="identifier_code">
<metadata schema="core">
<property key="title">
<text lang="en">Title Text</text>
</property>
<property key="category">
<text lang="en">Book</text>
</property>
<property key="date">
<date>1985/2002</date>
</property>
<property key="language">
<text lang="en">English</text>
</property>
<property key="description">
<text lang="en">This is the description</text>
</property>
</metadata>
<metadata schema="another">
<property key="originator">
<text lang="en">The originator</text>
</property>
<!-- more property elements -->
</metadata>
<sequence>
<metadata schema="core">
<!-- similar to above -->
</metadata>
<metadata schema="another">
<!-- similar to above -->
</metadata>
<image filename="the file name">
<metadata schema="core">
<!-- similar to above -->
</metadata>
<metadata schema="another">
<!-- similar to above -->
</metadata>
<transcript lang="en">Translation of text on post card or whatever</transcript>
</image>
</secquence>
</item>
<item identifier="the identifier code here">
<!-- repeat of something similar above, I'll provide more xml should anyone ask for it -->
</item>
</itemset>
</xml>
これから、次のようにデータベースにデータを入力します。
Table: metadata_core
|----|------------|----------|-----------|----------|-------------------------|-----------------|
| id | title | category | date | language | description | item_identifier |
|----|------------|----------|-----------|----------|-------------------------|-----------------|
| 1 | Title Text | Book | 1985/2002 | English | This is the description | identifier_code |
|----|------------|----------|-----------|----------|-------------------------|-----------------|
Table: metadata_another <similar to metadata_core table>
Table: transcript
|----|----------------------------------------------|-----------------|
| id | transcript | item_identifier |
|----|----------------------------------------------|-----------------|
| 1 | Translation of text on post card or whatever | identifier_code |
|----|----------------------------------------------|-----------------|
Table: parent_elements
|----|---------|----------|------------|---------------|---------------|----------|-----------------|
| id | exhibit | type | md_core_id | md_another_id | transcript_id | resource | item_identifier |
|----|---------|----------|------------|---------------|---------------|----------|-----------------|
| 1 | 1 | sequence | 1 | 1 | null | false | identifier_code |
|----|---------|----------|------------|---------------|---------------|----------|-----------------|
Table: child_elements
|----|-----------|----------|------------|---------------|---------------|----------|-----------------|
| id | parent_id | type | md_core_id | md_another_id | transcript_id | resource | item_identifier |
|----|-----------|----------|------------|---------------|---------------|----------|-----------------|
| 1 | 1 | image | 2 | 2 | 1 | filename | identifier_code |
|----|-----------|----------|------------|---------------|---------------|----------|-----------------|
これは本当に可能ですか、それともデータベースの設計を修正する必要がありますか?