Сведения о вопросе

Математик

10:58, 22nd August, 2020

Теги

xml    

XML Лучшие Практики Сбора Данных

Просмотров: 354   Ответов: 4

Я создаю приложение, которое будет хранить иерархическую коллекцию элементов в файле 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>



  Сведения об ответе

FAriza

07:47, 11th August, 2020

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


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


  Сведения об ответе

COOL

17:23, 18th August, 2020

Однозначно-Вариант Б.

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


  Сведения об ответе

SKY

23:44, 26th August, 2020

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


  Сведения об ответе

FAriza

23:28, 13th August, 2020

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

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться