Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.63 MB
Время: 0.08 c
15-1338660812
Knight
2012-06-02 22:13
2013.03.22
Как распечатывать текст программы для диплома?


8-1229748560
Лена111
2008-12-20 07:49
2013.03.22
Перерисовывать ЛистБокс до не узнаваимости


15-1354088508
asail
2012-11-28 11:41
2013.03.22
Win7 32bit и 8гиг оперативки...


2-1339945459
ankazh
2012-06-17 19:04
2013.03.22
VISIBLE


2-1333101588
leklerk
2012-03-30 13:59
2013.03.22
Как сделать в DBGrid для поля заголовок в 2 строки?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский