Форум: "Прочее";
Текущий архив: 2009.10.25;
Скачать: [xml.tar.bz2];
ВнизБольшой XML Найти похожие ветки
← →
uw © (2009-08-27 19:34) [0]Чем разобрать XML в несколько десятков метров? XMLDocument совсем отказывается :-(
← →
Pavia © (2009-08-27 19:58) [1]Свой написть. Тебе же не нужно 100% стандарта поддерживать. Достаточно теги чтобы разобрал. Собственно XML так и задумывался. И вообще от этих XML парсеров толку ноль всеравно во внутренний формат сам переводишь.
← →
TUser © (2009-08-27 20:31) [2]У меня вот такой самописный 10 метров берет легко, думаю и больше распарсит. Формат поддерживается не полностью. в частности не знаем про аттрибуты и комментарии.
http://narod.ru/disk/12496199000/uXmlParser.pas.html
← →
Игорь Шевченко © (2009-08-27 21:04) [3]Использовать SAX ?
http://www.skch.net/columns/xml_delphi2.html
← →
DVM © (2009-08-27 21:44) [4]
> TUser ©
> Формат поддерживается не полностью.
Это мягко сказано. Дай бог 1% от всех возможностей XML поддерживает. Но в большинстве случаев сгодится.
← →
TUser © (2009-08-27 21:50) [5]
> Но в большинстве случаев сгодится.
Я бы сказал мягче - во многих случаях. Аттрибутов и комментариев, действительно, не хватает, но все время руки не доходят дописать.
← →
uw © (2009-08-28 00:40) [6]Не, то, что мне надо разбирать, как раз и состоит в основном из атрибутов. Более того, встречаются атрибуты-строки, которые суть опять XML. Там, ясное дело, вместо < и > - < и >. XMLDocument всё это хорошо разбирает, но когда не очень много.
Попробую парсить по частям.
← →
uw © (2009-08-28 00:42) [7]Здорово объяcнил! Хотел написать & g t ; (без пробелов), а получилось опять же > :-)
← →
ZeroDivide © (2009-08-28 09:11) [8]Формат XML - не для файлов в десятки метров.
← →
atruhin © (2009-08-28 09:23) [9]> [0] uw © (27.08.09 19:34)
В какой кодировке документ?
← →
TUser © (2009-08-28 09:39) [10]
> ZeroDivide © (28.08.09 09:11) [8]
>
> Формат XML - не для файлов в десятки метров.
Эх, а говорят универсальный. А вообще, - ОО и О2007 хранят документы в зазипованном XML, и этот зазипованный на десятки метров бывает. Как-то справляются.
← →
Sergey Masloff (2009-08-28 09:46) [11]ZeroDivide © (28.08.09 09:11) [8]
>Формат XML - не для файлов в десятки метров.
Иногда лучше жевать ;-) И сотни мегов не проблема абсолютно. Про ОО и новый MS Офис TUser уже сказал ;-) У меня робот входящую отчетность висит разбирает десятки файлов в день некоторые сейчас много сотем МБ. Если бы хоть один не разобрал я бы имел очень много проблем. Но этого не наблюдается...
← →
ZeroDivide © (2009-08-28 09:57) [12]Эх, а говорят универсальный. А вообще, - ОО и О2007 хранят документы в зазипованном XML, и этот зазипованный на десятки метров бывает. Как-то справляются.
Ну для этого есть всякие варианты, типа потоковой загрузки и парсинга этого XML-я и т.п. Но когда нужно обработать весь этот файл за одну операцию, например получить какой-то итоговый результат по всем данным из этого файла... на xml нужно ставить большой крест.
Я вот тут тоже сделал файл на 25 метров (НДФЛ-2), он генерился у меня в XMLType в Oracle. Скорость select"ов из этого xml"я потрясающе никакая.
← →
ZeroDivide © (2009-08-28 10:05) [13]
> десятки файлов в день некоторые сейчас много сотем МБ
Пара-тройка десятков файлов по сотне мегабайт за день (за 24 часа?)... да, за это время они вероятно распарсятся :) Не спорю :)))
Видимо, вы считаете xml оптимальным форматом для хранения сотен мегабайт да? :)))
← →
Игорь Шевченко © (2009-08-28 10:15) [14]ZeroDivide © (28.08.09 10:05) [13]
> Видимо, вы считаете xml оптимальным форматом для хранения
> сотен мегабайт да?
xml - оптимальный формат для обмена данными. Если кто-то этого не понимает, расширяет кругозор и не вылезает со своим ламерским мнением
← →
ZeroDivide © (2009-08-28 10:22) [15]
> xml - оптимальный формат для обмена данными. Если кто-то
> этого не понимает, расширяет кругозор и не вылезает со своим
> ламерским мнением
>
Возьмите файл с реляционными данными в вашем xml (мегабайт на 100) и проверьте ссылочную целостность... Удачи.
XML - это болезнь. Но, я думаю, время лечит.
← →
Игорь Шевченко © (2009-08-28 10:30) [16]ZeroDivide © (28.08.09 10:22) [15]
Возьми любой текстовый файл и проверь в нем ссылочную целостность. Ты слово "обмен" не видишь/не читаешь/отказываешься воспринимать ?
Ссылочную целостность должен проверять тот, кто наилучшим образом умеет эту проверку делать, то есть база данных, а вовсе не файл с исходными данными.
← →
Дмитрий С © (2009-08-28 10:33) [17]
> xml - оптимальный формат для обмена данными.
Лучше жевать, все-таки, да.
← →
Медвежонок Пятачок © (2009-08-28 10:36) [18]Лучше жевать, все-таки, да.
А какой оптимальный?
← →
Дмитрий С © (2009-08-28 10:39) [19]
> А какой оптимальный?
Оптимальный для чего?
Не думаю, что оптимальнее передавать в XML формате, к примеру, дамп базы данных, оптимальнее SQL в большинстве случаев.
← →
Медвежонок Пятачок © (2009-08-28 10:40) [20]Речь про обмен данными.
← →
Медвежонок Пятачок © (2009-08-28 10:42) [21]Не думаю, что оптимальнее передавать в XML формате, к примеру, дамп базы данных, оптимальнее SQL в большинстве случаев.
Ну давай, пердавай.
У меня оракл на юниксе у тебя каше на винде.
← →
Игорь Шевченко © (2009-08-28 10:49) [22]Дмитрий С © (28.08.09 10:39) [19]
> Не думаю, что оптимальнее передавать в XML формате, к примеру,
> дамп базы данных, оптимальнее SQL в большинстве случаев
Вот и не думай, а слушай, что умные и опытные говорят :)
← →
TUser © (2009-08-28 11:01) [23]
> xml - оптимальный формат для обмена данными. Если кто-то
> этого не понимает, расширяет кругозор и не вылезает со своим
> ламерским мнением
картинку удобнее джпегом ))
Вообще, json, вроде позволяет примерно все тоже самое, и читабельнее и компактнее, а "неоптимален" исключительно в силу меньшей распространенности, имхо.
← →
Дмитрий С © (2009-08-28 11:03) [24]
> Игорь Шевченко © (28.08.09 10:49) [22]
Очень-очень умные и очень-очень опытные :)) Гордыня губит, поди?
> Ну давай, пердавай.
> У меня оракл на юниксе у тебя каше на винде.
Тем более оптимальнее не использовать xml, известно для кого данные предназначаются. А точнее, если известно, что родной формат адресата не xml.
← →
Медвежонок Пятачок © (2009-08-28 11:06) [25]А точнее, если известно
Теоретик.
Допустим мне надо обмениваться с сотней корреспондентов.
Предлагаешь положить жизнь на поддержание в актуальном состоянии информации что там у них за сервер?
Ну допустим в понедельник я знаю, что у партнера mssql2008.
Во второник он переходит на бэтрив.
Какие мои действия?
← →
Медвежонок Пятачок © (2009-08-28 11:09) [26]А в среду уже я с каше переезжаю на fb25.
Сажусь за аутлук, и пишу всей сотне письма: Чуваки, со среды чтобы все дампы были для fb в ods не ниже десятки.
Пипец полет мысли.
← →
ZeroDivide © (2009-08-28 11:10) [27]
> Игорь Шевченко © (28.08.09 10:30) [16]
>
> ZeroDivide © (28.08.09 10:22) [15]
>
> Возьми любой текстовый файл и проверь в нем ссылочную целостность.
> Ты слово "обмен" не видишь/не читаешь/отказываешься воспринимать
> ?
Не вижу и не понимаю где ты его увидел до (ZeroDivide © (28.08.09 10:05) [13]). Речь шла о парсинге. Со скоростью парсинга у XML файлов большие проблемы. У тегов переменная длинна и чтобы парсер нашел начало следующего тега, нужно перелопатить содержание предыдущего. Ты не согласен? И вообще, подумай, стоит ли хамить, если ты хочешь нормальной дискуссии?
>Медвежонок Пятачок © (28.08.09 10:36) [18]
>Лучше жевать, все-таки, да.
>А какой оптимальный?
Оптимального нет.
Если пакет передаваемой информации небольшой, то да... удобнее xml. Если большой, то вся прелесть xml теряется. При небольшом размере xml удобно прочитать в вьювере, но вы же не станете читать стомегабайтынй высокоструктурированный xml. Его в редакторе читать тяжело, его по-любому нужно загружать в базу и смотреть с помощью интерфейса. Таким образом, при передаче больших xml - по большому счету, вылезают одни минусы, главный из которых скорость разбора этого xml.
Сейчас очень многие гос. конторы и не только переходят с dbf на xml, я не считаю это шибко разумным. К сожалению, ничего не придумано, для того, чтобы иметь компромис... какого-нить формата типа xml, но который бы имел, например таблицу описывающую смещения тегов в файле. Таким образом, чтобы было возможно и рыбку съесть и быстро парсить.
← →
Медвежонок Пятачок © (2009-08-28 11:11) [28]Если пакет передаваемой информации небольшой, то да... удобнее xml.
Да вот хрен там.
Будет просто дольше обрабатываться. Но обрабатываться будет.
Зато не надо будет поддерживать многочисленные процедуры импорта/экспорта в зоопарке форматов обмена.
← →
Медвежонок Пятачок © (2009-08-28 11:13) [29]и не только переходят с dbf
Рассказать про танцы с бубном вокруг этого самого дбф?
← →
ZeroDivide © (2009-08-28 11:14) [30]
> Зато не надо будет поддерживать многочисленные процедуры
> импорта/экспорта в зоопарке форматов обмена.
К xml, как бы типа тоже xsd нужна.. и если схема поменялась - переписывать скорее всего придется, не отвертишься.
← →
Игорь Шевченко © (2009-08-28 11:17) [31]ZeroDivide © (28.08.09 11:10) [27]
> И вообще, подумай, стоит ли хамить, если ты хочешь нормальной
> дискуссии?
Ты тоже подумай, стоит ли делать безапелляционные заявления, если хочешь нормальной дискуссии.
> Речь шла о парсинге. Со скоростью парсинга у XML файлов
> большие проблемы. У тегов переменная длинна и чтобы парсер
> нашел начало следующего тега, нужно перелопатить содержание
> предыдущего
Парсинг он вообще последовательный, особенно при обмене, поэтому не вижу проблем с нуждой в поиске следующего тэга без просмотра тела предыдущего.
А что касается переменной длины - у всех ведущих баз данных давно переменная длина записи, из-за NULL значений, и ничего, проблем с производительностью не испытывают.
← →
Медвежонок Пятачок © (2009-08-28 11:19) [32]ну во первых xsd вовсе не обязателен.
во вторых переписываение переписыванию рознь.
если формат позиционный - меняем алгоритм.
если нет (dbf,mdb,xml) - то меняется в основном та чать которая отвечает за имена полей или xpath выражения (что в принципе можно вынести в настроечную часть)
← →
Дмитрий С © (2009-08-28 11:25) [33]
> Медвежонок Пятачок ©
Это только эмоции и утрирование. Я про другое говорил. В вашем случае НЕ известен формат, который принимает клиент. Неужели можно быть таким ограниченным?
← →
Медвежонок Пятачок © (2009-08-28 11:35) [34]Это только эмоции и утрирование.
Городская муниципальная структура - интегратор.
Публикует данные о задолженности по лицевым счетам и принимает от городских банков платежи населения. Банков не пять и не десять.
Серверов банковских разных тоже.
Что дальше?
← →
Дмитрий С © (2009-08-28 11:37) [35]Вот еще пример из известных форматов.
Формат таблицы стилей CSS основан не на xml. Хотя и используется в Вебе, где все кругом "пропитано" XMLом.
XML является попыткой заново изобрести иерархические базы данных... в 1980-е года иерархические базы данных были вытеснены реляционными базами данных ©
← →
Дмитрий С © (2009-08-28 11:38) [36]
> Медвежонок Пятачок ©
Ты еще раз приводишь пример того, о чем я тебе НЕ говорил.
← →
Игорь Шевченко © (2009-08-28 11:42) [37]Дмитрий С © (28.08.09 11:37) [35]
> Формат таблицы стилей CSS основан не на xml. Хотя и используется
> в Вебе, где все кругом "пропитано" XMLом.
В вебе все пропитано html вообще-то. Каковой появился несколько раньше как XML, так и CSS.
Я понимаю, что в силу ограниченности своих задач ты не сталкивался с необходимостью обеспечить удобный обмен данными между различными, порой заранее неизвестными, отправителями/получателями, но это же не оправдание.
← →
Дмитрий С © (2009-08-28 11:57) [38]
> Игорь Шевченко © (28.08.09 11:42) [37]
XMLом таки.
Появился, возможно, и раньше, однако на замену html уже появился более строгий xhtml (который уже не html, но еще не xml:) ), а вот CSS не спешит преобразовываться.
>
> Я понимаю, что в силу ограниченности своих задач ты не сталкивался
> с необходимостью обеспечить удобный обмен данными между
> различными, порой заранее неизвестными, отправителями/получателями,
> но это же не оправдание.
Ты же про меня знаешь всё, чтобы такое заявлять :)
Я уверен, что авторы XML, рассуждали именно так, как ты (я выделил жирным). И более того, я согласен с этим. Я же говорю, как ты правильно заметил, не про глобальные творения.
← →
ZeroDivide © (2009-08-28 12:01) [39]
> Парсинг он вообще последовательный, особенно при обмене,
> поэтому не вижу проблем с нуждой в поиске следующего тэга
> без просмотра тела предыдущего.
Ну :))) Заявление достойное мастера Delphi
> А что касается переменной длины - у всех ведущих баз данных
> давно переменная длина записи, из-за NULL значений, и ничего,
> проблем с производительностью не испытывают.
Так в том то дело, что они выполняют только memcpy, реальная длинна варчаров в БД храниться, ее не нужно искать! А парсер xml выполняет кучу cmp, чтобы сначала понять, что копировать.
← →
Медвежонок Пятачок © (2009-08-28 12:15) [40]Ты еще раз приводишь пример того, о чем я тебе НЕ говорил.
Ну а ты приводишь примеры обмена дампами бд со своей младшей сестрой из пятого бэ, про которую все знаешь.
← →
Дмитрий С © (2009-08-28 12:20) [41]
> Ну а ты приводишь примеры обмена дампами бд со своей младшей
> сестрой из пятого бэ, про которую все знаешь.
Снова только эмоции. При выборе формата нет места эмоциям.
← →
Медвежонок Пятачок © (2009-08-28 12:21) [42]При выборе формата нет места эмоциям.
Ок. Переходим от слов и эмоций к делу.
Щас пришлю тебе дамп каше а ты его вкачай.
← →
Игорь Шевченко © (2009-08-28 12:27) [43]
> а ты его вкачай.
и провалидируй...
← →
Медвежонок Пятачок © (2009-08-28 12:36) [44]Даже если забить на проблемы чтения дампов хрен знает каких серверов и иметь глобальную билиотеку которая читает все отовсюду, то:
ну пришел мне чей-нибудь дамп.
там мудреная схема данных с многочисленными взаимосвязями явными и неявными ссылками и зависимостями.
а мне то нужно всего лишь получить "имя - счет - сумма"
так мне что, раскурив единожды сам дамп, курить еще и все эволюции в чужой схеме чтобы понять где там и что там лежит?
← →
Дмитрий С © (2009-08-28 12:37) [45]
> Медвежонок Пятачок © (28.08.09 12:21) [42]
Какая разница что парсить, твой дамп или XML?
В любом случае должна быть договоренность о формате. XML это даже не формат, а язык разметки для форматов. Фраза "данные в формате XML" не говорит нам о том, что данные формализованы (не смотря на само слово "формат". игра слов).
Я уверен, что SQL дамп проще преобразовать в дамп конкретной БД, либо можно использовать ansi sql.
← →
Медвежонок Пятачок © (2009-08-28 12:39) [46]Пипец. Это пипец.
← →
Дмитрий С © (2009-08-28 12:41) [47]
> Медвежонок Пятачок © (28.08.09 12:36) [44]
XML это единственный расширяемый формат данных с обратной совместимостью. Так по твоему?
← →
Медвежонок Пятачок © (2009-08-28 12:41) [48]Я уверен, что SQL дамп проще преобразовать в дамп конкретной БД, либо можно использовать ansi sql.
Мне уже спросить про то, сколько вами было реально произведено таких преобразований за свою деятельность? И откуда куда.
Или еще не надо?
← →
Дмитрий С © (2009-08-28 12:43) [49]
> Пипец. Это пипец.
Это не пипец. Пипец - это замкнутость и ограниченность в голове.
← →
Дмитрий С © (2009-08-28 12:45) [50]
> Мне уже спросить про то, сколько вами было реально произведено
> таких преобразований за свою деятельность? И откуда куда.
>
> Или еще не надо?
Это не имеет значения. Даже нормальным алгоритмом можно преобразовать.
← →
Медвежонок Пятачок © (2009-08-28 12:48) [51]Даже нормальным алгоритмом можно преобразовать.
дайте мне точку опоры и я сдвину молочные реки и кисельные берега, а еще вот хорошо бы построить мост через пруд, и чтобы на нем коробейники, бабы с ребятишками, гармошки по праздникам.
сори конечно за неточность цитирования классиков.
← →
ZeroDivide © (2009-08-28 12:48) [52]
> Я уверен, что SQL дамп проще преобразовать в дамп конкретной
> БД, либо можно использовать ansi sql.
Это фиговое предложение. Это будет работать в случае, если структура базы совпадает (очень большое и нехорошее ограничение)
К тому же, получится файл еще менее понимаемый, чем xml. Если xml хоть браузером просмотришь и поймешь, а dbf-ку dbf-вьювером, соответственно то, отдельно fields отдельно values пока не вкачаешь не разберешься.
← →
test © (2009-08-28 12:51) [53]Дмитрий С © (28.08.09 12:37) [45]
Допустим надо выбрать телефоны у 120 рразнородных компаний, они их честно прислали. 120 схем разварачивать будешь? А как автоматически в 120 схемах найти именно телефоны?
← →
Дмитрий С © (2009-08-28 12:57) [54]
> Это фиговое предложение. Это будет работать в случае, если
> структура базы совпадает (очень большое и нехорошее ограничение)
И тем не менее, формат имеет право на жизнь и даже удобен в некоторых случаях. Например, мне XML не нужен для передачи дампа БД с моей машины разработчка на хостинг. Самая распространенная программа для этого (phpmyadmin) не поддерживает импорта из XML, даже из того, в который экспортирует.
> Медвежонок Пятачок © (28.08.09 12:48) [51]
Вся кровь уходит, похоже, в большой член. Снова эмоции.
← →
Медвежонок Пятачок © (2009-08-28 12:58) [55]Например, мне XML не нужен для передачи дампа БД с моей машины разработчка на хостинг.
Каким боком это относится к обмену данными?
← →
Медвежонок Пятачок © (2009-08-28 13:00) [56]Например, мне XML не нужен для передачи дампа БД с моей машины разработчка на хостинг.
С таким же успехом я заявлю, что процесс селекта - это тоже обмен данными. И скажу, что вместо селекта нужно тянуть на клиента дамп бд и там его парсить "нормальным алгоритмом"
← →
Медвежонок Пятачок © (2009-08-28 13:02) [57]Короче, Дима.
Сейчас уже совершенно ясно, что реально вы ни одной задачи по реальному обмену данными в жизни своей не решали.
Вы рафинированный теоретик
← →
atruhin © (2009-08-28 13:15) [58]> [48] Медвежонок Пятачок © (28.08.09 12:41)
> Я уверен, что SQL дамп проще преобразовать в дамп конкретной
> БД, либо можно использовать ansi sql.
А если подумать? Покажи ка пример скрипта, загружающего документ со строками (master-detail) на ansi sql.
Учитывая что в ansi sql не переменных и некуда вернуть id мастер записи.
← →
test © (2009-08-28 13:18) [59]Дмитрий С © (28.08.09 12:57) [54]
Кароче ты просто не хочешь учить XML.
← →
Дмитрий С © (2009-08-28 13:20) [60]
> Медвежонок Пятачок © (28.08.09 12:58) [55]
>
> Например, мне XML не нужен для передачи дампа БД с моей
> машины разработчка на хостинг.
>
> Каким боком это относится к обмену данными?
А каким боком не относится? :)
> Сейчас уже совершенно ясно, что реально вы ни одной задачи
> по реальному обмену данными в жизни своей не решали.
>
> Вы рафинированный теоретик
Расскажите, пожалуйста, каким образом одно следует из другого.
Не отдавайтесь эмоциям, пожалуйста. Мы тут не членами меримся, а обсуждаем.
Мне кажется, что Игорь Шевченко понимает, что я не против XML, и он прав. Я очень даже за. Я за то, чтобы передавать данные в формате XML, при определенных условиях. Всегда же использовать XML для обмена не имеет смысла. Нужно разумно учитывать все параметры задачи (например, ее глобальность, простоту поддержки, вашу зарплату в конце концов. А также, достоинства и недостатки форматов). Это мое мнение. Возможно оно неправильно, однако его, пока, никто не оспорил. Оспаривают, пока, все что угодно, включая мои умственные способности, но не мнение по этому поводу.
> Медвежонок Пятачок © (28.08.09 13:02) [57]
Вам так хочется чтобы я оказался неправ, а вы правы? :)
← →
Дмитрий С © (2009-08-28 13:28) [61]
> test © (28.08.09 13:18) [59]
> Дмитрий С © (28.08.09 12:57) [54]
> Кароче ты просто не хочешь учить XML.
Да нееет. На самом деле все уехали и мне не с кем поговорить :))
На самом деле я тут не причем. Есть язык и область его применения. Когда мне нужно попадать в эту область, я использую его, когда не нужно — не использую. Когда мне выгоднее использовать свой формат - я использую свой формат.
Повторюсь. Мне XML нравится по многим параметрам. А когда, наконец-то? выучу XSLT будет еще больше нравится.
← →
Дмитрий С © (2009-08-28 13:31) [62]
> atruhin © (28.08.09 13:15) [58]
Не совсем понятно о чем ты говоришь. Расскажи подробнее.
И расскажи как эта задача успешно решается с помощью XML :)
← →
Медвежонок Пятачок © (2009-08-28 13:59) [63]Расскажите, пожалуйста, каким образом одно следует из другого.
Не вижу смысла продолжать дискуссию с человеком который абсолютно не в теме. Почему не в теме?
Потому что в качестве первого реального аргумента неудобности xml приведен случай заливки на хостинг файлов майэкьюэль.
ЗЫ ламье и школота.
← →
Дмитрий С © (2009-08-28 14:11) [64]
> Медвежонок Пятачок © (28.08.09 13:59) [63]
Снова эмоции вместо того чтобы объективно что-то сказать. Вам бы учиться общаться с людьми, сдерживать свои эмоции, а не программировать. Такие люди как вы ничего не добиваются в жизни.
← →
Медвежонок Пятачок © (2009-08-28 14:13) [65]Да нет у меня никаких эмоций. Мне тоже в пятницу скучно, сижу дурачусь.
Прикалываюсь над чудаками
← →
Дмитрий С © (2009-08-28 14:18) [66]
> Прикалываюсь над чудаками
А соблазнить девочку духу не хватает? :)
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2009.10.25;
Скачать: [xml.tar.bz2];
Память: 0.64 MB
Время: 0.05 c