Question

Je suis en création d'une application qui permettra de stocker un ensemble hiérarchique des éléments dans un fichier XML et je me demandais à propos de la norme de l'industrie pour le stockage des collections en XML.Lequel des deux formats suivants est-il préférable?(Si il y a une autre option que je ne suis pas voyant, veuillez en informer.)

L'Option A

<School>
    <Student Name="Jack" />
    <Student Name="Jill" />
    <Class Name="English 101" />
    <Class Name="Math 101" />
</School>

L'Option B

<School>
    <Students>
        <Student Name="Jack" />
        <Student Name="Jill" />
    </Students>
    <Classes>
        <Class Name="English 101" />
        <Class Name="Math 101" />
    </Classes>
</School>
Était-ce utile?

La solution

Je ne suis pas un expert XML, mais je trouve l'Option B pour être plus lisible par l'homme, et je pense que c'est tout aussi lisible à la machine que l'Option A.Je crois que XML est conçu pour être à la fois humain et lisible à la machine, donc je pencherais pour l'Option B moi-même.


Je viens de réaliser quelque chose d'autre après Ryan Farley post.Si les Élèves ou les Classes de la section devient trop grande, et doit être déplacé vers un autre fichier XML, il me semble qu'il serait plus facile de copier le nœud et créer un nouveau fichier XML de ce nœud avec l'Option B.

Autres conseils

Certainement - L'Option B.

Je ne voudrais pas mélanger des élèves et des classes dans le fichier XML de la même façon que je n'aurais pas mélanger des élèves et des classes dans la même table dans une base de données.

Une autre raison impérieuse d'utiliser l'option B est la vérification d'erreur.Si le fichier d'origine est modifié à l'extérieur d'une application de XML, ou si aucun schéma XSD est appliqué, il pourrait y avoir des cas où vous avez un nombre impair d'élèves et des classes.

Au moins, si vous avez des élèves et des classes regroupées, vous pourrez facilement être en mesure de dire si chaque enregistrement est complet, indépendamment de tout autre document.

L'Option B, absolument.Quand il y a une logique de regroupement des éléments similaires, il devrait avoir un élément parent.De cette façon, mon analyseur de ne pas avoir à passer en revue tous les 500 dossiers des étudiants de la vérification pour voir si il y a des enregistrements de classe mélangé dans.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top