большой xml в excel | |
---|---|
axeum Сообщений: 121 Дата регистрации: 07.07.2020 |
Добрый день, небольшие xml гружу через такой код и все отлично
пробовал эту большую xml грузить в эксель а оттуда уже в дбф но и эксель не осилил такую xml в интернете пробовал конверторы разные, результат тот же самый, на форуме искал но подходящего решения к моей проблеме не нашел и собсно вопрос, как еще можно попробовать получить из этой xml дбф? Исправлено 1 раз(а). Последнее : axeum, 25.03.24 13:15 ![]() |
Re: большой xml в excel | |
---|---|
kornienko_ru Сообщений: 415 Откуда: Владивосток Дата регистрации: 06.09.2015 |
Я не использовал XMLAdapter объект. Но могу подсказать, что еще есть LibreOffice и он всегда грузил и открывал файлы большего размера, чем Excel. Я генератор отчетов сделал на LibreOffice.
Но у него своя объектная модель. Открывается так:
Исправлено 2 раз(а). Последнее : kornienko_ru, 25.03.24 14:34 ![]() |
Re: большой xml в excel | |
---|---|
akvvohinc Сообщений: 4588 Откуда: Москва Дата регистрации: 11.11.2008 |
Если задача разовая, то разбивайте этот XML на части подходящего для стандартного приема размера. Выходные DBF объедините в один. Могу сам попробовать, если пришлете исходный XML. ![]() |
Re: большой xml в excel | |
---|---|
axeum Сообщений: 121 Дата регистрации: 07.07.2020 |
а как его сделать видимым? нашел какое то подобие через .activate но ничего не получилось и как открыть либрой как экселем с нормальным разделением по колонкам/строкам? максимум что смог получить все в одной строке ну не совсем разовая раз в несколько месяцев/полгода/год надо будет этим заморачиваться чтобы коды фиаса обновлять, поэтому каждый раз кому то писать чтобы разобрали за меня дело такое себе ![]() Исправлено 1 раз(а). Последнее : axeum, 25.03.24 17:28 ![]() |
Re: большой xml в excel | |
---|---|
alex; Сообщений: 3516 Откуда: Москва Дата регистрации: 23.11.2004 |
|
Re: большой xml в excel | |
---|---|
kornienko_ru Сообщений: 415 Откуда: Владивосток Дата регистрации: 06.09.2015 |
[quote axeum][quote kornienko_ru]Открывается так:
а как его сделать видимым? нашел какое то подобие через .activate но ничего не получилось и как открыть либрой как экселем с нормальным разделением по колонкам/строкам? максимум что смог получить все в одной строке Глянул свой генератор. Открытие:
![]() |
Re: большой xml в excel | |
---|---|
akvvohinc Сообщений: 4588 Откуда: Москва Дата регистрации: 11.11.2008 |
Раз этот XML стандартный, структура которого известна и не будет постоянно меняться, то разбивать его на части необязательно вручную - напишите ветку к основной программе приема, которая и будет это делать для файлов, размером более заданного. На мой взгляд, задача совершенно несложная. ![]() |
Re: большой xml в excel | |
---|---|
akvvohinc Сообщений: 4588 Откуда: Москва Дата регистрации: 11.11.2008 |
Слабо верится, что всем и всегда будет хватать оперативки на файлы такого размера. У меня сейчас 16Gb. Иногда удается прочитать файл размером около 1Gb функцией FILETOSTR(), а сейчас проверил - даже файл 800M вывалился по Not enough memory. ![]() |
Re: большой xml в excel | |
---|---|
akvvohinc Сообщений: 4588 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:В чем причина этого "не получается"? Видимо, в нехватке оперативной памяти. И если это так, то все "конвертеры", пытающиеся "проглотить" файл целиком в ОП, обречены. ![]() |
Re: большой xml в excel | |
---|---|
of63 Автор Сообщений: 26071 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Да, обречены.
Только "потэговое" (поточное) чтение. SAX-технология, ещё от ИК, он показал штатные средства библиотеки MSXML, не понравилось, или я не понял) () Я доморощеным поточным читателем пользуюсь, за что и был отруган ИК, где-то он прав, но я получил опыт такого чтения (буферизация в ограниченной памяти, поиск разделителей, граничные события в конце буфера... и просто удовольствие пописать с нуля) Но это поточное чтение тэгов геморно изрядно - вы сами будете отслеживать вложенность тэгов, повторяющиеся тэги... попробуйте Непонятно, что МС не реагирует, с этой идеей "весь XML-файл в ООП, ой, точнее, в виде DOM", ну, применили бы свои технологии, и при помощи НЖМД, разместили бы свой офигенно большой и страшно необходимый обьем памяти в модели DOM, в 2Г памяти 32-битного приложения... Криворукие. > Иногда удается прочитать файл размером около 1Gb функцией FILETOSTR(), а сейчас проверил - даже файл 800M вывалился по Not enough memory. 16 Мбайт почему-то запомнил для себя границей на FILEFROMSTR (не FILETO...), может, в API граница, может во внутренностях фокса, хз, но после нескольких 10-ков Мбайт м.будут проблы... !Гбайт - это Исправлено 4 раз(а). Последнее : of63, 25.03.24 19:50 ![]() |
Re: большой xml в excel | |
---|---|
akvvohinc Сообщений: 4588 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Уже много раз обсуждали - для каких-то операций со строками действует ограничение в 16Mb, описанное в Help, но для большинства - ограничение связано только с наличием свободной оперативки. В данном случае не требуется универсальности - это один из файлов ФИАС достаточно простой известной структуры - его несложно бить на части, сохраняя начальные и конечные теги и последовательно меняя только середину. ![]() |
Re: большой xml в excel | |
---|---|
of63 Автор Сообщений: 26071 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Тоже с ГАР (ФИАС забудь, хотя там немного разниц) е... работаю
...бия на части?... ну скажи результат, там некоторые регионы бошльшие 2Г, ты их просто фоксом FOPEN и пр. F* не прочитаешь ![]() |
Re: большой xml в excel | |
---|---|
of63 Автор Сообщений: 26071 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Юра, и PRG >100 кБайт размером не грузит на твой(наш) сайт - 117кБ незипованный, мне сайт дал отказ... ну защипую...
... зачем установлено ограничение?, тексты прог же бесконечны. я зазипую, но потеряется милая покраска фокс кода... Надо меняться, но не как наши некоторые соотечественники, а в разумном векторе, разумность определит выборный царь, конечно ) Доб. В технике меняться, живее усложнять технику... зае..ло нативное отношение к ЯП "Фокс", фокс - обычный ЯП, Фокс как и все остальные ЯП высокого уровня, ничего особенного (кроме наших фишек математических, +БД забесплатно до 2Гбайт) Исправлено 3 раз(а). Последнее : of63, 25.03.24 22:55 ![]() |
Re: большой xml в excel | |
---|---|
of63 Автор Сообщений: 26071 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Про ГАР скажу что понял, мне понравилась эта структура. Я ее спрятал (мне нужные детали, позволяюшие выдать по некоторому коду полный тексотвый "адрес", адм, и другой... забылл) из 0.5Гбайт
![]() |
Re: большой xml в excel | |
---|---|
akvvohinc Сообщений: 4588 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Тема не об ограничениях Фокса - они известны. Проблема случилась с файлом допустимого размера, который можно прочитать функциями низкого уровня. ![]() |
Re: большой xml в excel | |
---|---|
axeum Сообщений: 121 Дата регистрации: 07.07.2020 |
да все верно, Недостаточно ресурсов памяти для завершения операции вот на этой строке выдает adapter.LoadXML(cFile,.t.) 8 гигов оперативы не хватает, надо было дома попробовать там толи 32 толи 64 стоят ![]() а и еще забыл, пробовал через xmltocursor('AS_HOUSES_PARAMS_20240201_1cff3120-037c-4e99-9a97-0f093fca3a73.xml') выдает ошибку Ошибка в элементе верхнего уровня документа, line 1, position 1 Исправлено 1 раз(а). Последнее : axeum, 26.03.24 07:33 ![]() |
Re: большой xml в excel | |
---|---|
pasha_usue Сообщений: 3723 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Да не важно, сколько оперативки запихано в машину. Больше 2-х гигов на 32-разрядное приложение ОСь не выдаст. ![]() |
Re: большой xml в excel | |
---|---|
axeum Сообщений: 121 Дата регистрации: 07.07.2020 |
я скрин прикрепил, может мне этот файл на 1,2г вообще не нужен? я пока не совсем понимаю что из всего этого мне действительно надо чтобы сделать таблицы по которым буду искать код дома в фиасе ![]() |
Re: большой xml в excel | |
---|---|
of63 Автор Сообщений: 26071 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Я сказал, что механизмом чтения XML-ей SAX.
Если файл тривиальный, то сумеешь тектовым разбором. Для размера 1.2Г хватит и FOPEN. Для файлов >2Г фоксом не откроешь (точнее он откроется, но ты его не прочитаешь), читать его можно при помощи API... () Только что придумал, что надо что нибудь придумать! ) Например, есть SQL-базы, они умеют читать файлы XML, загрузи это XML>2Г в SQL, а потом уж выгрузи из него (их SQL) что-то нужное (в ГАР/ФИАС много "ненужного" в жизни, например, история, всякое другое, увидишь, когда прочитаешь) () что уж такая беспомощность-то.. и интернет в помочах, и здесь талдычили-талдычили про этот несчастны наш фокс... Исправлено 1 раз(а). Последнее : of63, 12.04.24 18:34 ![]() |
© 2000-2025 Fox Club  |