Domanda

Sto creando un'applicazione che memorizzerà una raccolta gerarchica di elementi in un file XML e mi chiedo quale sia lo standard di settore per l'archiviazione delle raccolte in XML.Quale dei due formati seguenti è preferibile?(Se c'è un'altra opzione che non vedo, avvisala.)

Opzione A

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

Opzione B

<School>
    <Students>
        <Student Name="Jack" />
        <Student Name="Jill" />
    </Students>
    <Classes>
        <Class Name="English 101" />
        <Class Name="Math 101" />
    </Classes>
</School>
È stato utile?

Soluzione

Non sono un esperto di XML, ma trovo che l'Opzione B sia più leggibile dall'uomo e penso che sia leggibile dalla macchina quanto l'Opzione A.Credo che XML sia progettato per essere leggibile sia dall'uomo che dalla macchina, quindi sceglierei io stesso l'Opzione B.


Ho appena realizzato qualcos'altro dopo il post di Ryan Farley.Se la sezione Studenti o Classi diventa troppo grande e deve essere spostata in un altro file XML, sembra che sarebbe più semplice copiare il nodo e creare un nuovo file XML da quel nodo con l'Opzione B.

Altri suggerimenti

Sicuramente - Opzione B.

Non mescolerei studenti e classi nell'XML nello stesso modo in cui non mescolerei studenti e classi nella stessa tabella in un database.

Un altro motivo convincente per utilizzare l’opzione B è il controllo degli errori.Se il file originale viene modificato all'esterno di un'applicazione XML o se non viene applicato alcuno schema XSD, potrebbe verificarsi il caso in cui si abbia un numero dispari di studenti e classi.

Almeno se raggruppi gli studenti e le classi insieme, sarai facilmente in grado di dire se ogni record è completo, indipendentemente da qualsiasi altro record.

Opzione B, assolutamente.Quando esiste un raggruppamento logico di elementi simili, dovrebbe avere un elemento principale.In questo modo, il mio analizzatore non dovrà esaminare tutti i 500 record degli studenti per verificare se sono presenti record di classe mescolati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top