Форум: "Прочее";
Текущий архив: 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]Ты еще раз приводишь пример того, о чем я тебе НЕ говорил.
Ну а ты приводишь примеры обмена дампами бд со своей младшей сестрой из пятого бэ, про которую все знаешь.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2009.10.25;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.046 c