![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
AD |
![]()
Сообщение
#1
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Все больше и больше убеждаюсь в преимуществе использования XML, для представления входных данных. Структуру XML понимают и не-программисты. Эти файлы могут делать любые более-менее подготовленный пользователь ПК. Преимущества я вижу следующие: жесткое формальное описание данных, ясный и относительно простой способ описания данных, возможность первичной и поверхностной проверки правильного составления файла (открыть браузером - ошибки, подобные забытому тегу и прочее - браузер не пропустит, ну естественно, с оговорками...), легкость обработки в силу существования большого количества библиотек обработки. Кто может еще что сказать по этому поводу?
Помимо XML есть, конечно же, еще такие вещи, как S-expression, JSON. Но под них библиотек обработки, к сожалению, намного меньше. Буду благодарен, если откликнитесь и дадите интересные материалы и примеры использования XML как входных данных, а не для интернет-сайтов. |
|
|
![]() |
igor_bogomolov |
![]()
Сообщение
#2
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Сейчас всё больше отказываются от xml в пользу YAML
|
|
|
molchanoviv |
![]()
Сообщение
#3
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: ![]() ![]() ![]() |
Угу, но вместе со всеми приимуществами появляется просто бешенная избыточность и куча болезней присущих XML
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
я уже как-то критиковал XML.
Авторы и почитатели утверждают, что XML легко читается человеком. Но это Раскрывающийся текст
|
|
|
ufna |
![]()
Сообщение
#5
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
сколько не пользовал различные форматы, пришел к выводу, что XML использование подходит:
а) для хранения деревьев б) для обмена данными между различными серверами и клиентами, где структура данных может незначительно меняться Редактировать xml - жуть, имхо, для меня этот формат очень малочитаемый. Для обычного пользователя - текстовый .ини файл, и все, если на то пошло. Его редактировать гораздо проще. Хотя имхо все данные "посложнее" должны делаться через редактор, и тогда уже без разницы какой там формат внутри. Сообщение отредактировал ufna - 16.9.2010, 15:22 |
|
|
AD |
![]()
Сообщение
#6
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
я уже как-то критиковал XML. Авторы и почитатели утверждают, что XML легко читается человеком. Но это Юра, это не вранье, и даже не рекламный трюк. Это ведь формализованное описание. С этой точки зрения, тот код, что ты привел, вполне нормально считывается и разбирается при некоторой довольно быстрой подготовки. Да, сейчас появляются все более удобные виды формализованного описания, чем XML, но под них намного меньше библиотек. molchanoviv, не будем голословными! ![]() ![]() ![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Приведи проблемы с XML. * не читаемость/не проверяемость человеком.* для считывания данных, нужно прочитать весь файл, чтобы убедится в его корректности (validating) ** невозможность читать большие файлы по частям * избыточность данных, в разных ситуация по разному, приведённый мною пример содержит свыше 75% бесполезной информации ** низкая скорость чтения, повышенная загрузка канала передачи данных П.С. вроде есть только одно приемущество - возможность обработки программой (100% поддерживающей стандарт) любых данных |
|
|
AD |
![]()
Сообщение
#8
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
* для считывания данных, нужно прочитать весь файл, чтобы убедится в его корректности (validating) ** невозможность читать большие файлы по частям * избыточность данных, в разных ситуация по разному, приведённый мною пример содержит свыше 75% бесполезной информации О. Спасибо. Буду знать и учитывать. * не читаемость/не проверяемость человеком. А это спорный вопрос. Смотря как именно созданные файлы. Вообще я лично использую простейший вариант XML, которые структуры данного вида не предуматривает:
То есть можно писать только так:
А вообще данные проблемы присущи и другим указанным тут форматам? |
|
|
Sokoloff |
![]()
Сообщение
#9
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
Сразу скажу, я не являюсь фанатом XML-я, формат как формат, не хуже прочих. На мой взгляд XML вначале незаслуженно превозносили, а теперь незаслуженно демонизируют. Просто его надо использоавать там, где надо.
Первое и главное, не надо заставлять человека читать и писать XML руками. XML - машинный формат, с возможностью знающему человеку иногда подправить его руками. * не читаемость/не проверяемость человеком. У других с читаемостью то же не очень, в JSON-е от скобок в глазах аж. рябит. И уж если профунькал скобку, умаешся искать где, в XML по крайне мере закрывающий тег можно найти через Ctrl+F. * для считывания данных, нужно прочитать весь файл, чтобы убедится в его корректности (validating) А у других, как ты убедишься в корректности не прочитав весь файл, может в конце скобки или запятой не хватает? Большой XML можно разбить на несколько и объединить через стандартный include. Я не в курсе, у перечисленных альтернативных форматов есть похожий стандартный механизм?** невозможность читать большие файлы по частям * избыточность данных, в разных ситуация по разному, приведённый мною пример содержит свыше 75% бесполезной информации Это да, здесь спорить не буду проблема есть, и прочие форматы однозначно здесь выигрывают.** низкая скорость чтения, повышенная загрузка канала передачи данных |
|
|
Litkevich Yuriy |
![]()
Сообщение
#10
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Sokoloff |
![]()
Сообщение
#11
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
А у других, как ты убедишься в корректности не прочитав весь файл, может в конце скобки или запятой не хватает? например, в ini-файле можно вообще построчно читать или по группе.И что? XML тоже можно через SAX читать, и если первый тег некорректный выдавать ошибку. И вообще не корректно сравнивать двухуровневый ini с многоуровневыми форматами. Если надо просто сохранить ключ=значение, то XML не нужен, а если сложную структуру данных? Вон как в openssl извратились с openssl.cnf, чтоб его разобрать надо обладать "сокровенным знанием", знать имя начальной секции, знать что в этой секции такой-то параметр означает имя "вложенной" секции и.т.д. Уж лучше бы использовали XML. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#12
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
иерархический инишник:
вообще ничего сложного
|
|
|
Sokoloff |
![]()
Сообщение
#13
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
иерархический инишник: вообще ничего сложногоЯ не говорю, что в ini нельзя сохранить вложенные данные, но он создавался не для этого. Во что это превратится при пяти уровнях вложенности? И опять это надо знать что в этом конкретном ini-шнике firs/subfirst это подсекция от firs, и если я переименовал firs, то мне надо переименовывать все firs/ХХХ. Каждую технологию надо применять там, где она оптимальна. Хранить простые конфиги в XML - бред, но и использовать ini для структурированной информации то же не правильно. Я приводил пример не удачного, на мой взгляд, применения ini для многоуровневых настроек в openssl. |
|
|
AD |
![]()
Сообщение
#14
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Я просто понял, что для таких вещей, как представление меню - XML подходит как нельзя лучше. Потом для описания каких-нибудь табличных данных его тоже использовать более удобно, чем INI. Повторюсь, было бы побольше разборщиков всяких YAML, то использовал бы его, возможно, точнее так, предложил бы использовать их! INI в данной области использовал раньше - крайне неудобно и в плане заполнения и в плане использования. Разборщиков INI знаю только под WIN32, а вот в Qt, boost их не видел.
Сообщение отредактировал AD - 17.9.2010, 10:34 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#15
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AD |
![]()
Сообщение
#16
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kwisp |
![]()
Сообщение
#17
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AD |
![]()
Сообщение
#18
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#19
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AD |
![]()
Сообщение
#20
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kwisp |
![]()
Сообщение
#21
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Не все получится с помощью этого формата отобразить. а всё отображать и не надо. каждый формат для определённых целей. не стоит принимать как панацею ни xml ни ini. настройки всех программ храню в ini, много сталкивался с ним в linux - легко и удобно, просто дешево и сердито если хотите. но когда кто-то хранит 10 настроек своей проги в xml я этого не понимаю. не понимаю фирму самсунг, которая хранит телефонную книгу своих телефонов в xml. он xml - для других целей с которыми я в плотную не работал. но недостатков он не лишен и они существенны. то что нет подходящего парсера - не аргумент в сторону выбора формата! |
|
|
AD |
![]()
Сообщение
#22
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
а всё отображать и не надо. Что значит не надо? Нужную для работы информацию, которую править мог бы непрограммист! ![]() каждый формат для определённых целей. Это понятно. не стоит принимать как панацею ни xml ни ini. ![]() ![]() настройки всех программ храню в ini, много сталкивался с ним в linux - легко и удобно, просто дешево и сердито если хотите. но когда како-то хранит 10 настроек своей проги в xml я этого не понимаю. не понимаю фирму самсунг, которая хранит телефонную книгу своих телефонов в xml. он xml - для других целей с которыми я в плотную не работал. но недостатков он не лишен и они существенны. то что нет подходящего парсера - не аргумент в сторону выбора формата! Ну... настроек не 10, во много больше. ![]() Сообщение отредактировал AD - 17.9.2010, 14:33 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#23
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
если нужно, чтобы человек имел возможность отредактировать настройки руками - INI-файл (QSettings)
если нужно хитро хранить информацию - SQLite |
|
|
AD |
![]()
Сообщение
#24
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ufna |
![]()
Сообщение
#25
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
а что есть информация нетривиального вида, которую пользователь мог поправить, и которую так сложно записать? Пример какой нибудь, пожалуйста.
QSettings работает с .ini идеально, имхо. Единственное, чего нельзя делать - это "комментарии", которые некоторые товарищи добавляют в структуру этого файла. В этом .ini я постоянно храню кучи настроек, вплоть до "сейвов" GV систем. |
|
|
Sokoloff |
![]()
Сообщение
#26
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
если нужно хитро хранить информацию - SQLite Юра, сразу возникает вопрос: если нужно хранить информацию нетривиального вида так, чтобы пользователь смог поправить? Вопрос не холивара ради, а для дела. А что за информация "нетривиального вида"? Сообщение отредактировал Sokoloff - 17.9.2010, 16:25 |
|
|
AD |
![]()
Сообщение
#27
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Я могу весь код привести.
![]() Раскрывающийся текст
В этом .ini я постоянно храню кучи настроек, вплоть до "сейвов" GV систем. У каждого свой "опыт" работы. У меня он был с этими ini-файлами не очень-то хороший! ![]() |
|
|
BRE |
![]()
Сообщение
#28
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#29
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AD |
![]()
Сообщение
#30
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Всмысле в обычном текстовом редакторе набила? ![]() Как она сейчас, надеюсь где нибудь отдыхает? ![]() Да я не следил, в чем набивала... Не знаю.... Какое там отдыхает? ![]() ![]() ![]() P.S. Есть во мне элементы садизма! ![]() Сообщение отредактировал AD - 17.9.2010, 17:00 |
|
|
kwisp |
![]()
Сообщение
#31
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Что значит не надо? Нужную для работы информацию, которую править мог бы непрограммист! ![]() да элементарно к примеру ini правится даже не программистом. ![]() я говорю "всё не надо" - в смысле у каждого формата есть рамки. если бы один формат был настолько универсален он бы был всего один на все случаи жизни. что ты не можешь сохранить в ini файле скажи мне? приведи пример где xml выигрывает при хранении чего? |
|
|
Алексей1153 |
![]()
Сообщение
#32
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ufna |
![]()
Сообщение
#33
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
А чем этот код нетривиален? Древовидная структура данных, ничего особенного. Записать ее можно что в ини, что в xml, тут кому как удобнее. Так что примера нетривиальных данных, которые сложно записать я не вижу.
В ини я бы записал это попроще и более понятно человеку, имхо. А мучаться с таким объемом по индентам.. бедная девочка. |
|
|
AD |
![]()
Сообщение
#34
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
да элементарно к примеру ini правится даже не программистом. ![]() я говорю "всё не надо" - в смысле у каждого формата есть рамки. если бы один формат был настолько универсален он бы был всего один на все случаи жизни. что ты не можешь сохранить в ini файле скажи мне? приведи пример где xml выигрывает при хранении чего? Как говорится "На вкус и цвет товарищей нет"! ![]() А чем этот код нетривиален? Древовидная структура данных, ничего особенного. Записать ее можно что в ини, что в xml, тут кому как удобнее. Так что примера нетривиальных данных, которые сложно записать я не вижу. Дерево, на мой взгляд, нетривиальная структура для ини-файла! ![]() В ини я бы записал это попроще и более понятно человеку, имхо. А мучаться с таким объемом по индентам.. бедная девочка. Приведи из данного примера небольшой кусок кода на ини-файле. Я даже не представляю как это будет выглядеть! А вообще - на вкус и цвет! ![]() Сообщение отредактировал AD - 17.9.2010, 22:24 |
|
|
ufna |
![]()
Сообщение
#35
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
Ну а English/Rus описание уже как иделогия захочет - можно в каждый из этих, можно отдельным блоком для языков (что имхо правильнее) QSettings дает тут отличную сбоводу,когда есть childGroups() и вообще понятие групп. Да, единственная "проблема" - порядок меню (ХМЛ все-таки по порядку железно идет) - но это легко решается введением "индекса" в группе,например. Сообщение отредактировал ufna - 17.9.2010, 23:41 |
|
|
Sokoloff |
![]()
Сообщение
#36
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
Вот если своевременно узнаю о всех бедах (некоторые уже перечислили), то это будет - плюс Как уже говорили "у каждого формата есть рамки", каждый формат надо использовать с умом. На мой взгляд так. XML хорош если надо хранить древовидные структуры, вложенность тегов интуитивно понятна пользователям. Имена тегов избыточны, но зато несут доп. информацию для пользователя, видно какой тег закрывается. Недостаток - объем. JSON - то же для деревьев, и сложных структур. Объем гораздо меньше, поэтому хорошо подходит для систем которые генерируют данные программно, не зря в AJAX-е в последнее время используют его. На мой взгляд разобраться в нагромождении закрывающих скобок, сложнее чем в тегах. Для конфигов лучше использовать INI или даже простой конфиг ключ=значение. Если нужны табличные данные, то можно посмотреть в сторону CSV. Как то так. Сообщение отредактировал Sokoloff - 17.9.2010, 23:40 |
|
|
AD |
![]()
Сообщение
#37
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Ну а English/Rus описание уже как иделогия захочет - можно в каждый из этих, можно отдельным блоком для языков (что имхо правильнее) Ага. Значит, русский и английский вообще неучитывается в данном примере. Наглядности никакой, имхо. Короче, крайне неудачно. Да, единственная "проблема" - порядок меню (ХМЛ все-таки по порядку железно идет) Вот именно. XML более понятен рядовому пользователю. Достаточно открыть XML файл интернет-эксплорером и все упорядоченно и ясно. Согласись, что в данном примере, ини-файлы куда менее наглядны. Как тут другие отметили тоже, что деревья удобнее представлять в xml-файлах! |
|
|
ufna |
![]()
Сообщение
#38
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
AD, это смешно
![]() Кстати,читай лучше, "в этом примере" я про язык не стал говорить,т.к. вариантов сделать - дохрена. Вплодь до тыщи языков, в зависимости от системы перевода, я в принципе не согласен с той схемой как у тебя с языком. А ее аналог - два поля descEnd, descRus=.. в моем примере. А что вот делать, если интернет экспорера с расцветкой под рукой нет, а только текстовый редактор? Загоним любую систему классификации серьезную (аля устрйоство мира у биологов - царства и далее - наступит кошмар). Минус ХМЛ будет гигансткий в том, что редактируя руками текущий блок тебе нужно смотреть кто его родитель, и далее - кто родитель родителя и т.п., чтобы представлять схему. Если к "моему примеру" добавить инденты как делает на автомате IE (сам XML ни в коем случае этим не занимается), то будет тебе "наглядность". А убери инденты в ХМЛ - получишь дико нечитаемый документ. А ведь если быть честным, то сохраняя XML через программу, инденты не сохраняются - там пустых мест нет. Наглядность? ![]() Счас проверил - при работе с QDom.. сохранение происходит всего XML в одну строчку. Очень наглядно ![]() А сделать "ручками" - реально, в .INI инденты тоже можно делать, они потом порежутся (либо убираются парой нажатий клавиш). |
|
|
Litkevich Yuriy |
![]()
Сообщение
#39
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
DEADHUNT |
![]()
Сообщение
#40
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AD |
![]()
Сообщение
#41
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ufna |
![]()
Сообщение
#42
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
Нормально всё сохраняется, а QDomDocument практически самый медленный парсер xml. В rapidxml даже флаг такой есть у функции распечатки xml - делать отступы/не делать. Хз, у меня сохраняется в одну-единственную строчку почему-то. Проверю ![]() rapidxml не рассматривал, т.к. "не Qt" как я понял. Так то либ для хмл хватает ![]() Юра, я просто так бы говорить не стал. Конечно, видел. И не только я. ufna, давай использовать русские термины! ![]() ![]() У тебя и "не только тебя" уже просто глаз привык к этой структуре. Проще взять одну структуру, сделать в двух форматах и дать вообще "левому пользователю" - и послушать мнение о том, как проще выполнить к примеру задание "поменять структуру (переместить), добавить меню, изменить порядок". Инденты - да, отступы, видимо. Иногда забываю слова на русском ( |
|
|
AD |
![]()
Сообщение
#43
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Ясно. Короче, предлагаю сменить тему. Тут уже пошло дело вкуса и привычки. Буду благодарен, если еще что-то откопаете о недостатках или достоинствах формата XML.
|
|
|
igor_bogomolov |
![]()
Сообщение
#44
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
А ведь если быть честным, то сохраняя XML через программу, инденты не сохраняются - там пустых мест нет. Наглядность? Цитата(assistant) Записывает XML-представление узла и всех его потомков в поток str. Эта функция использует indent для определения величины отступа для подэлементов. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 24.6.2025, 3:36 |