Цитата(Bengamin @ 24.12.2010 - 16:51) [snapback]106076[/snapback]
Я понимаю, что Саид крутой спец, и в общем то наверное говорит правильные вещи. Но зачем использовать вот эту здоровую форму :
Цитата
<?xml version="1.0" encoding="utf-8"?>
<request type="DO-SOMETHING-ROLL">
<o t="TestClass">
<s n="Test">
<f t="Int32" v="1" />
<f t="Int32" v="2" />
<f t="Int32" v="3" />
<f t="Int32" v="4" />
</s>
</o>
</request>
или ещё лаконичнее (Правда менее гибче) :
Цитата
[1,1] = 1
[1,2] = 2
[1,3] = 3
[1,4] = 4
Вообщето нельзя, скорее
Цитата
(1) форма
[1,1,0] = Int32
[1,1,1] = 1
[1,2,0] = Int32
[1,2,1] = 2
[1,3,0] = Int32
[1,3,1] = 3
[1,4,0] = Int32
[1,4,1] = 4
или
(2) форма
[1,1] = 1 Int32
[1,2] = 2 Int32
[1,3] = 3 Int32
[1,4] = 4 Int32
или
(3) форма
1 Int32
2 Int32
3 Int32
4 Int32
- (XML) форма записи 223 байта
- (1) форма записи 118 байтов
- (2) форма 66 байтов
- (3) форма 34 байта
В случае с (1)-(3) лишних символов нет, в (XML) есть лишние переводы на новую строку и пробелы, удаляем получаем 199 байтов.
Из этих 199 байт
Цитата
<?xml version="1.0" encoding="utf-8"?><request type="DO-SOMETHING-ROLL"><o t="TestClass"><s n="Test">...</s></o></request>
Является статическим грузом т.е. при увеличении фактических данных не разбухает. Размер 119 байт.
в итоге получаем что фактические данные в (XML) занимают всего 80 байт, взглянем по новому:
- (XML-факт) = 80 байт [100%]
- (1) = 118 байт [147.5%]
- (2) = 66 байт [82.5%]
- (3) = 34 байт [42,5%]
для достижения таких же соотношений для (XML), необходима критическая масса данных которая спрячет те 119 байт и она равна примерно 100 записям, это при том что в (1)-(3) статический блок вообще отсутствует.
(1) отметается сразу т.к. уже на 10 записях размер примерно равен (XML), из плюсов (2) и (3) я отметил только размер данных поэтому взглянем на минусы:
(3) легче на 57.5%- Отсутсвие деревянности, получить можно добавив поля id, parentId (для XML это не надо) - только через модификацию парсера
- Жестко заданный список полей в одной записи, по сути представляет собой таблицу
(2) легче на 17.5%- Деревянность присутствует но она жутко кастрирована, параметры можно задавать только листьям и всего 2 уровня.
- Жестко заданный список полей.
Плюсы XML- Деревянность от природы :)
- Список пораметров записи не предопределен
- Куча готовых библиотек умеющих парсить XML (отлаженных и надежных)
- Утилиты упрощающие просмотр/редактирование XML файлов (XMLSpy,Eclipse(Встроенный),NetBeans(Встроенный) и т.д.)
- Много плюсов которые ты сможешь найти для себя сам :)
- ...