Лучшие практики XML Collection

Я создаю приложение, которое будет хранить иерархическую коллекцию элементов в файле XML, и меня интересует отраслевой стандарт хранения коллекций в XML. Какой из следующих двух форматов является предпочтительным? (Если есть другой вариант, который я не вижу, пожалуйста, сообщите.)

Вариант А

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

Вариант Б

<School>
    <Students>
        <Student Name="Jack" />
        <Student Name="Jill" />
    </Students>
    <Classes>
        <Class Name="English 101" />
        <Class Name="Math 101" />
    </Classes>
</School>
4 xml
22.08.2008 18:07:56
4 ОТВЕТА
РЕШЕНИЕ

Я не эксперт по XML, но я нахожу вариант B более читабельным для человека, и я думаю, что он так же машиночитаем, как вариант A. Я считаю, что XML разработан как для чтения человеком, так и для машины, поэтому я выбрал бы Option Я сам.


Я только что понял кое-что еще после сообщения Райана Фарли. Если раздел «Студенты или классы» становится слишком большим и должен быть перемещен в другой файл XML, кажется, что было бы проще скопировать узел и создать новый файл XML из этого узла с помощью варианта B.

4
22.08.2008 18:09:36

Определенно - вариант Б.

Я не смешивал бы студентов и классы в XML так же, как я не смешивал бы студентов и классы в одной таблице в базе данных.

4
22.08.2008 18:11:44

Вариант Б , абсолютно. Когда есть логическая группа похожих элементов, у нее должен быть родительский элемент. Таким образом, моему анализатору не нужно будет проходить все 500 записей студенческих проверок, чтобы увидеть, не смешаны ли записи классов.

2
23.01.2013 06:36:19

Еще одна веская причина использовать опцию B - проверка ошибок. Если исходный файл изменяется вне приложения XML, или если не применяется схема XSD, может быть случай, когда у вас неравномерное число учащихся и классов.

По крайней мере, если у вас есть ученики и классы, сгруппированные вместе, вы легко сможете определить, завершена ли каждая запись, независимо от любой другой записи.

2
22.08.2008 18:15:43