Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

XML - нафига козе боян?   Найти похожие ветки 

 
Пит   (2012-10-15 15:01) [40]


> Структурно и XML не поддерживает иерархию

ну не пиши бред... Как раз в формате XML описана иерархичность, есть разделение на ноды (узлы) и стандартизировано, как XML разбить на ноды. Также описано, как одна нода может в себе содержать другие ноды с неограниченной глубиной вложенности. Это всё в стандарте, а не накрученное конкретным разработчиком.


> это всего лишь какой-то текст. :)

ты загнался в попытках абстракционизма. С твоей точки зрения протокол FTP ничем не отличается от протокола HTTP, ибо это всего лишь какой-то текст.

Ни одно место XML не может содержать ПРОИЗВОЛЬНЫЙ текст. Так или иначе по стандарту текст экранируется соответствующим образом, в зависимости от местоположения в структуре XML. Так что это не просто какой-то текст, а текст в соответствии стандарту.

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

Попробуй сделать Xml-документ содержимым:

op3iueagagboaergh

Тебе любой парсер тут же скажет, что не найдена корневая нода, потому что она ДОЛЖНА быть. И это еще раз говорит о том, что XML это не всего лишь какой-то текст, а вполне определенный текст.


 
брат Птибурдукова   (2012-10-15 15:04) [41]


> с этим списком жутко неудобно работать. Например, тебе нужно
> удалить device_1, тогда cnt_deviсe нужно уменьшить на один,
>  а данные device_2 переписать в device_1
Зачем? Удалил device_1, потом прочитал всю секцию в stringlist и работай. И count не нужен.

ЗЫ. Я не оправдываю использование ini. :-)


 
Пит   (2012-10-15 15:09) [42]


> Зачем? Удалил device_1, потом прочитал всю секцию в stringlist
> и работай. И count не нужен.

а как ты будешь сохранять потом всё это? Полюбому в цикле со счетчиком.

А значит по факту у тебя получится, что ты удалил запись device_1, а все остальные после неё сдвинул вверх на 1. Просто ты описал более-менее удобный программный способ.


 
Пит   (2012-10-15 15:10) [43]


> Просто ты описал более-менее удобный программный способ.

в предположении, что в этой секции не хранится ничего другого, кроме нужных тебе строчек. А там могут храниться и комментарии, которые тоже считаются скорее всего )))

Тогда тебе придётся после этого фильтровать по префиксу или как-то так. Тем xml и удобнее.


 
icelex ©   (2012-10-15 15:11) [44]

ну все, понеслась душа в рай...
понедельник на дворе, а не пятница ведь...


 
Ega23 ©   (2012-10-15 15:50) [45]


> А что над ini? Почему не над txt навернуть, что хочется?


Можно и над txt. По-сути, расширение *.xml тебе ничего не даёт, кроме выбора программы по-умолчанию и выбора подсветки синтаксиса по-умолчанию в notepad++  :)


 
Ega23 ©   (2012-10-15 15:59) [46]


>  Как раз в формате XML описана иерархичность, есть разделение
> на ноды (узлы) и стандартизировано, как XML разбить на ноды

Мне НИКТО не мешает записать этот самый xml не по-стандарту, начхать на экранирование, забыть указать кодировку, забить на обязательный корневой узел (или сделать их 100500 с одинаковым именем ROOT) и т.д.
Вообще никто.
Просто тогда стандартный DOM-парсер накроется медным тазом. Но никто не мешает мне поставлять свой собственный, с шахматами и поэтессами.
TEga23XMLDocument = class (TInterfacedObject, IXMLDocument);
TEga23XMLNode = class (TInterfacedObject, IXMLNode);

И всё. Сохраняй хоть в ini, хоть в БД, хоть в JSON или вообще в TIFF между строк шифруй.
Просто зачем изобретать велосипед? :)


 
Плохиш ©   (2012-10-15 16:28) [47]


> Мне НИКТО не мешает записать этот самый xml не по-стандарту

Это будет уже не xml, обычный набор байтов для одной отдельно выбранной песочницы.


 
Пит   (2012-10-15 16:35) [48]


> Просто тогда стандартный DOM-парсер накроется медным тазом.

Олег, у тебя как выходные то прошли? ))

Ты вообще со стороны то почитай, что ты пишешь.

Конечно, ты можешь изобрести свой стандарт, свое описание, сделать свой парсер - наздоровье, но причем тут XML?!?!?!?!?!

Ты говоришь, что в XML не описана иерархичность на основе того, что ты можешь изобрести собственный стандарт, отличный от XML. Олег, ты сейчас о чем?!

XML - это стандарт, есть ДОКУМЕНТАЦИЯ, описывающая этот стандарт, в этой документации четко дается понять об иерархичности нод, которые являются частью XML-документа. Поэтому я и говорю, что в структуре XML предусмотрена иерархия!!

А ты говоришь, что можешь создать свой аналог XML без иерархии... ну и что? Где логика, Олег?!


 
Пит   (2012-10-15 16:37) [49]

Олег, ты меня извини, но ты просто напалмом жжошь. Ты с этой же точки зрения можешь заявить, что в стандарте HTML нет понятия тегов! Когда на тебя посмотрят и скажут - как это нету тегов? Ты скажешь, что можешь придумать свой HTML без тегов, написать свой браузер и оно будет работать. А значит в описании стандарта HTML нет понятия tag! Гениально нах...


 
Пит   (2012-10-15 16:40) [50]

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


 
Ega23 ©   (2012-10-15 16:48) [51]

Я не вижу в файле 1.xml с содержимым
<?xml version="1.0" encoding="windows-1251"?><Document xxx="ttt" />
никакой иерархии. Я вижу ровно одну строку.
Иерархия это или нет - решает тот, кто разбирает этот текст.


> XML - это стандарт, есть ДОКУМЕНТАЦИЯ, описывающая этот
> стандарт

Это стандарт ФОРМАТА ЗАПИСИ. Ощущаешь нюанс?


 
Ega23 ©   (2012-10-15 16:56) [52]


> ы с этой же точки зрения можешь заявить, что в стандарте
> HTML нет понятия тегов! Когда на тебя посмотрят и скажут
> - как это нету тегов? Ты скажешь, что можешь придумать свой
> HTML без тегов, написать свой браузер и оно будет работать.


Скажи мне, можно в DOM добавлять узлы в динамике?


 
han_malign   (2012-10-15 17:10) [53]


> Это стандарт ФОРМАТА ЗАПИСИ.

- стандарт представления данных.
А вот если брать полный стандарт, со схемами, трансформациями и т.д. - то это уже стандарт описания автоматизации представления, проверки и обработки данных...


 
Ega23 ©   (2012-10-15 17:13) [54]


> han_malign   (15.10.12 17:10) [53]

Возможно.
Можно ли такое навернуть в качестве надстройки над ini? Можно, но бессмысленно.


 
Пит   (2012-10-15 17:26) [55]


> Я не вижу в файле 1.xml с содержимым
> <?xml version="1.0" encoding="windows-1251"?><Document xxx="ttt"
> />

Олег, причем тут конкретный файл XML?! Я говорю о том, что СТАНДАРТ XML ПРЕДУСМАТРИВАЕТ ИЕРАРХИЮ И ОПИСЫВАЕТ ЕЁ.
В конкретном экземпляре может и не быть иерархии, вложенности. Ты опять считаешь это доказательством того, что в стандарте XML нету иерархии?

А если я написал программу на дельфи, не используя тип TFileStream, то файловых потоков в дельфи не существует? Олег, что с тобой? ))


> Скажи мне, можно в DOM добавлять узлы в динамике?

конечно, можно.
Только какое это отношение имеет к обсуждаемому вопросу.

Олег, еще раз!!1 В описании стандарта XML в явном виде описана иерархия. Зачем ты делаешь вид, что не понимаешь такой элементарной вещи? У тебя утверждения из области:

> я вижу запрос SQL:

>update MyTable set MyField = 5

Отсюда делаем вывод, что в стандарте SQL нет понятия строк.


 
Ega23 ©   (2012-10-15 17:28) [56]

Читай ветку с самого начала.


 
KSergey ©   (2012-10-15 17:31) [57]

Что вы сделали с аффтаром ветки??


 
Плохиш ©   (2012-10-15 17:47) [58]


> KSergey ©   (15.10.12 17:31) [57]
> Что вы сделали с аффтаром ветки??

аффтар высасывает следующую "проблему" из пальца. Ждёмс следующий вброс.


 
Пит   (2012-10-15 18:01) [59]


> Читай ветку с самого начала.

1) я читал ветку с самого начала

2) по-моему, есть описание формата XML:

http://www.w3.org/TR/xml11/

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


 
Ega23 ©   (2012-10-15 18:05) [60]


> 2) по-моему, есть описание формата XML:

Если ты читал ветку с самого начала, то ты должен был увидеть, что я это и говорил.


 
Пит   (2012-10-15 19:19) [61]

да я согласен ок, XML - это просто текст, набор произвольных байтов.


 
Пит   (2012-10-15 19:20) [62]

это если конечно читать данную ветку сначала.


 
Ega23 ©   (2012-10-15 19:28) [63]


> да я согласен ок, XML - это просто текст, набор произвольных
> байтов.

Не совсем произвольных, это всё-таки текст.
Ну а коли так, то следующий вопрос: можно ли также реализовать вот всё то же самое, что есть в xml, но только с помощью ini?
Ответ: можно. Это будет жуткий плохо читабельный монстр. Но - можно.


 
Андреевич   (2012-10-15 19:34) [64]

Еще больше возненавидел xml после того как парсер (XmlSerializer в шарпе) отказался десерилизовать структуру потому что структура текста с XML была вручную немного подредактирована (с косяками). И все - это не валидный формат, не буду грузить.


 
Rouse_ ©   (2012-10-15 19:36) [65]


> Пит   (15.10.12 19:19) [61]
> да я согласен ок, XML - это просто текст, набор произвольных
> байтов.
>
>

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


 
Пит   (2012-10-15 20:32) [66]


> Не совсем произвольных, это всё-таки текст.

с чего ты взял?!

Я вот только что сделал XML-документ, где есть куча не символьных байтов. Правда, этот файл отказываются открывать существующие xml-парсеры, но что мне мешает написать свой: TPitXMLDocument ?


 
Rouse_ ©   (2012-10-15 20:36) [67]


> Я вот только что сделал XML-документ, где есть куча не символьных
> байтов.

В стандарте XML оговаривается что он может содержать и в каком формате, ты нарушил стандарт, стало быть это не XML документ. Можешь за одно таблицу инициализации Base64 поменять на свою и написать TPitBase64 :) До кучи полином у CRC32 сменить, дабы всем поплохело :)


 
Ega23 ©   (2012-10-15 20:53) [68]


> с чего ты взял?!

Нулевой байт туда пропиши.


 
QAZ2   (2012-10-15 21:07) [69]


> Что вы сделали с аффтаром ветки??

ничо, я только дочитал :)

> В описании стандарта XML в явном виде описана иерархия

есть такой штука как TTreeView c методами SaveToFile и LoadFromFile
и о чудо там тоже есть иерархия и никаких XML ненадо


 
Rouse_ ©   (2012-10-15 21:20) [70]


> QAZ2   (15.10.12 21:07) [69]
> есть такой штука как TTreeView c методами SaveToFile и LoadFromFile
> и о чудо там тоже есть иерархия и никаких XML ненадо

Мндя, а еще есть такая штука как различные версии дельфи, которые твою "штуку" сохраняют так как им хочется :) А ведь ты поддерживаешь свой продукт и наверное захочешь чтобы твое ПО за 2012 год прочитало данные записанные твоим-же ПО выпущенным году эдак в двухтысячном.


 
Ega23 ©   (2012-10-15 21:25) [71]

А разве у TTreeView есть LoadFromFile и SaveToFile?
Чёта навскидку не помню такого, а смотреть - лень.


 
asail ©   (2012-10-15 21:29) [72]


> Андреевич   (15.10.12 19:34) [64]
> Еще больше возненавидел xml после того как парсер (XmlSerializer
> в шарпе) отказался десерилизовать структуру потому что структура
> текста с XML была вручную немного подредактирована (с косяками).

INI-файл проблему, конечно, решил в данном случае?
А если я avi-файл вручную подкорректирую, да еще и с косяками? Так, что ни один плеер его показывать не будет. Мне надо будет возненавидеть avi файлы? :)


 
Rouse_ ©   (2012-10-15 21:30) [73]


> Ega23 ©   (15.10.12 21:25) [71]

Есть но хреново работает :)
http://qc.embarcadero.com/wc/qcmain.aspx?d=66810


 
icelex ©   (2012-10-15 21:32) [74]


> Андреевич   (15.10.12 19:34) [64]
> Еще больше возненавидел xml после того как парсер (XmlSerializer
> в шарпе) отказался десерилизовать структуру потому что структура
> текста с XML была вручную немного подредактирована (с косяками).
>  И все - это не валидный формат, не буду грузить.

а xml-то тут причем?
открой вона doc-файл в текстовом редакторе, да подредактируй там что-нибудь, а потом Word начинай ненавидеть


 
Dimka Maslov ©   (2012-10-15 21:33) [75]


> Ega23 ©   (15.10.12 21:25) [71]


Таки есть, сохраняет в текстовом формате с табуляциями. При этом в терминах XML сохраняются только имена узлов, но не значения и атрибуты, коих в TreeView нет буквально вообще.


 
asail ©   (2012-10-15 21:34) [76]


> QAZ2   (15.10.12 21:07) [69]

> и о чудо там тоже есть иерархия и никаких XML ненадо

Еще раз. Можно и в бинарных файлах все хранить (кстати, можно уйму доводов привести в поддержку именно их). INI это еще один из стандартных форматов. Со своими плюсами и минусами. Можно еще и CSV вспомнить... Почему его не использовать? Чем INI лучше?


 
QAZ2   (2012-10-15 21:42) [77]


> Чем INI лучше?

незнай я им не пользуюсь :)
я вообще не понимаю форматов "которыемогутчитатьсячеловеком" ибо каждый ботан будет пытаться его изменить и поглядеть что из этого будет


 
Rouse_ ©   (2012-10-15 21:43) [78]


> QAZ2   (15.10.12 21:42) [77]
> я вообще не понимаю форматов "которыемогутчитатьсячеловеком"
> ибо каждый ботан будет пытаться его изменить и поглядеть
> что из этого будет

HTML, как я понял, только что умер в твоих глазах?


 
Игорь Шевченко ©   (2012-10-15 21:43) [79]

Троллить - в другое место.


 
Ega23 ©   (2012-10-15 21:57) [80]


> Есть но хреново работает :)

О блин, не знал...  :)



Страницы: 1 2 3 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.64 MB
Время: 0.052 c
15-1350457839
pasha_golub
2012-10-17 11:10
2013.03.22
Течет память. Кто виноват и что делать?


4-1261729087
TN_TN
2009-12-25 11:18
2013.03.22
Определить готовность устройства


15-1338563526
Медвежонок Пятачок
2012-06-01 19:12
2013.03.22
Сменить глобус проживания


2-1345811633
Егорка
2012-08-24 16:33
2013.03.22
Безопасен ли вызов в DllMain такой функции


2-1341059064
Начинающий41
2012-06-30 16:24
2013.03.22
DBEDIT