Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   В чем отличия двух XML записей (http://www.flasher.ru/forum/showthread.php?t=151358)

zhoran 27.02.2011 00:44

В чем отличия двух XML записей
 
Не понимаю, в чем концептуально и чисто практически отличаются эти две XML записи:
<person>
<name>John Doe</name>
<email>jdoe@example.com</email>
</person>

<person name="John Doe" email="jdoe@example.com" />

По-попугайски, если не ошибаюсь, в первом случае узел person содержит два дочерних (сыновних:)) узла, а во втором содержит два атрибута, но ни одного дочернего узла. И что с того?

Хемуль 27.02.2011 00:52

Цитата:

Сообщение от zhoran (Сообщение 976459)
в первом случае узел person содержит два дочерних (сыновних:)) узла, а во втором содержит два атрибута, но ни одного дочернего узла. И что с того?

А что вы хотите услышать? ^_^ Ну, в первом случае, если вам нужно будет справиться с какими-то специальными символами, вы сможете использовать конструкцию CDATA, а во втором, поскольку данные у вас в атрибутах, придётся иначе эту проблему решать, но вы и тут скажете "И что с того?" ^_^
Вы хотите услышать, как правильно? Правильно так, как вам необходимо для решения поставленной задачи. Вы с таким же успехом можете рядом поставить то же самое в JSON-виде и задать тот же вопрос.

PS: Подарили под вечер весёлое настроение. ^_^ Спасибо.

Bgg 27.02.2011 00:54

С того что узел и атрибут это разные структурные единицы XML.
Хм, сами ответили - сами спросили.

Psycho Tiger 27.02.2011 00:56

Есть вот здание. В здании есть шкаф. В шкафу лежит телефон. Как Вы это покажите вторым типом записи?
Логично ли будет записывая мой пример первой записью добавлять дочерний элемент "объем", "цвет" рядышком со вложенным или логично было бы сделать его параметром?

zhoran 27.02.2011 01:09

Цитата:

Сообщение от Хемуль (Сообщение 976462)
А что вы хотите услышать? ^_^ Ну, в первом случае, если вам нужно будет справиться с какими-то специальными символами, вы сможете использовать конструкцию CDATA, а во втором, поскольку данные у вас в атрибутах, придётся иначе эту проблему решать, но вы и тут скажете "И что с того?" ^_^
Вы хотите услышать, как правильно? Правильно так, как вам необходимо для решения поставленной задачи. Вы с таким же успехом можете рядом поставить то же самое в JSON-виде и задать тот же вопрос.

PS: Подарили под вечер весёлое настроение. ^_^ Спасибо.

На здоровье )! Насчет CDATA я не подумал, верно подмечено.

Цитата:

Сообщение от Bgg (Сообщение 976464)
С того что узел и атрибут это разные структурные единицы XML.
Хм, сами ответили - сами спросили.

Тож спасибо за участие)

Цитата:

Сообщение от Psycho Tiger (Сообщение 976465)
Есть вот здание. В здании есть шкаф. В шкафу лежит телефон. Как Вы это покажите вторым типом записи?
Логично ли будет записывая мой пример первой записью добавлять дочерний элемент "объем", "цвет" рядышком со вложенным или логично было бы сделать его параметром?

Кажется из аналогии со зданием и шкафом, я уяснил)))
Выходит, что узел без дочерних - просто элементарный неделимый атомный кирпич со свойствами (атрибутами), а узел с дочерними узлами - как бы составной, и может содержать или нет дочерние узлы.

Спасибо! Вот что значит хорошая метафора )

P.S.
Логично ли будет записывая мой пример первой записью добавлять дочерний элемент "объем", "цвет" рядышком со вложенным или логично было бы сделать его параметром?
Кмк в вашем примере логично так:
<здание объем="2000м3" цвет="0xfefefe">
<шкаф>
<телефон/>
</шкаф>
</здание>

Psycho Tiger 27.02.2011 01:54

Цитата:

Кмк в вашем примере логично так:
Именно! Нужно исходить из здравого смысла.
Я рад, что Вы поняли суть )

dimarik 27.02.2011 02:17

Хороший, кстати, пример аналогии.

Александр Мостовой 27.02.2011 02:39

Когда у меня возникает вопрос пользоваться ли узлом или атрибутом я всегда беру пример из классического HTML, что по сути частный случай XML. Там каждому отображаемому обьекту соответствует отдлеьный нод. Такой же логикой я руководствуюсь и в ХМЛ: новый обьект - новый нод, свойства - атрибуты.

Например я никогда не запишу свойство COLOR отдельным поднодом, только как атрибут, если оно просто задает цвет обьекта. А вот если это цвет один из цветов в палитре - то его, безусловно отдельным нодом.
Замечу, что в моем принципе намго чаще встречаются атрибуты, по сравнению с тем что я вижу у других программистов.

Добавлено через 2 минуты
в аналогии с кодом: простой тип данных - строки, числа, булен - атрибуты
сложный тип данных - ноды


Часовой пояс GMT +4, время: 04:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.