2009-09-22 3 views
0

Par exemple, j'ai un film/article. Il ouvre le 1er janvier 2010 et se termine le 10 janvier 2010. Est-ce que je crée une entrée pour chaque date que le film/élément se produit, en répétant toutes les données pour chaque date? ou est-ce que je crée deux noeuds dans le film/élément spécifiant une date de début et une date de fin et crée un argument pour fournir toutes les données si nécessaire? Je souhaite pouvoir filtrer les entrées en fonction de la catégorie de film/élément en éliminant les répétitions et être également capable de trier la liste par date.Comment organiseriez-vous un fichier XML pour un événement/élément qui se produit sur une plage de plusieurs dates?

Répondre

0

J'espère que je vous ai bien compris. Tu verras.

Pourquoi ne pas séparer comme ceci:

<db> 
<movies> 
<movie id="in_ba"> 
<name>Inglorious Basterds</name> 
<!-- more info here --> 
</movie> 
</movies> 
<times> 
<item movieid="in_ba"> 
<open>00.00.00 00:00:00.00 UTC+0</open> 
<close>00.00.00 00:00:00.00 UTC+0</close> 
</item> 
</times> 
</db> 
+0

Ouais, spot sur si près signifie un moment donné à l'avenir. C'était ce à quoi je pensais pour le deuxième modèle. Y a-t-il des problèmes de performance avec cette approche? Comment puis-je créer une déclaration pour récupérer une entrée de l'ensemble de l'enregistrement chaque fois qu'il rencontre un point entre ouvrir et fermer? – Jim

+0

Vous aurez des problèmes une fois que le fichier aura beaucoup d'éléments. Ensuite, je pense à séparer les films dans un autre fichier. D'autres inconvénients sont que vous devez interroger pour chaque 'élément' le 'film'. Donc, une deuxième requête est nécessaire. Interroger les objets: Itérer à travers chaque 'item', vérifier la date d'ouverture. Dans la même étape, vérifiez si la date de fermeture est dans votre plage. Au lieu de XML, vous pouvez nous 'sqlite', qui devrait être fourni avec l'iPhone. Un court Google-Query résultats dans ce tut: http://tinyurl.com/3u5bnh – cimnine

+0

Brillant, merci pour votre réponse. J'allais l'analyser avec SAX et le stocker dans sqlite de toute façon. Je n'avais pas pensé à un champ supplémentaire comme moyen d'effectuer une recherche secondaire. – Jim

Questions connexes