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

Вниз

порезать файл XML   Найти похожие ветки 

 
brother ©   (2012-12-26 15:33) [0]

Есть XML файл формата:

<?xml version="1.0" encoding="UTF-8"?>
<ORG ...>
<contractors>
 <contractor ...</contractor>
</contractors>
<PersAcc ...</PersAcc>
       ...
<PersAcc ...</PersAcc>
</ORG>


Его размер 15 метров, нужно нарезать этот файл, например, по 3 метра (можно не точно) с сохранением структуры.
Вопрос: есть ли готовое решение или свой огород городить?


 
RWolf ©   (2012-12-26 15:38) [1]

то есть как с сохранением?
XML-файл, оборванный на середине, не корректен.


 
brother ©   (2012-12-26 15:40) [2]

> то есть как с сохранением?


> <?xml version="1.0" encoding="UTF-8"?>
> <ORG ...>
> <contractors>
> <contractor ...</contractor>
> </contractors>

+

> </ORG>

И не резать где попало в
<PersAcc ...</PersAcc>


 
RWolf ©   (2012-12-26 15:44) [3]

чем это лучше разбиения в произвольном месте?


 
Smile   (2012-12-26 15:46) [4]

не совсем ясен смысл нарезки?
а любым архиватором (даже без сжатия) воспользоваться не возможно (кто-то запрещает)?
потому что, скорее всего (то есть не исключено), после того как разрешится вопрос с "нарезкой", возникнет вопрос "склеивания"


 
brother ©   (2012-12-26 15:56) [5]

> чем это лучше разбиения в произвольном месте?

валидностью...

> не совсем ясен смысл нарезки?

1с битрикс (в моем случае) не хочет импортировать файлы более 3 метров (виснет на этапе импортирования данных, но это не по теме)...
буду "скармливать" ему этот файл порциями :(
зы. разбираться, что к чему нет желания, просто буду кормить пока так...


 
RWolf ©   (2012-12-26 16:00) [6]

проще всего написать самому; всего дел — перебрасывать ноды из источника в очередной приёмник, пока размер текста не превысит лимит.


 
brother ©   (2012-12-26 16:03) [7]

жаль, ибо лень)


 
брат Птибурдукова   (2012-12-26 16:07) [8]

если задачка разовая, то имхо в фаре нарезать можно достаточно быстро


 
O'ShinW ©   (2012-12-26 16:08) [9]

А TClientDataSet не лоадит fromfile этот xml?
А то бы просто было..


 
Медвежонок Пятачок ©   (2012-12-26 16:20) [10]

selectNodes("//contractor");

пройтись по списку, взять у каждого иннерxml, приклеить заголовок и конец.
Можно выбрать диапазон конктракторов чтобы куски были потолще.

только зачем?
если это сработает, то документом можно и так ворочать.

а если нет, то резать как текстовый.

PS 15 метров - не размер


 
brother ©   (2012-12-26 16:48) [11]

> PS 15 метров - не размер

я про ручное...


 
БарЛог ©   (2012-12-26 17:17) [12]

http://www.codeproject.com/Articles/61900/PowerShell-and-XML


 
Медвежонок Пятачок ©   (2012-12-26 17:43) [13]

так опять таки.
работаем с xml как c xml.
если мы можем такими средствами его резать, то зачем нам его резать, если мы  с ним и так можем работать?

хотя может автор любит рассматривать внутренности файла как текст.....


 
brother ©   (2012-12-26 17:58) [14]

> рассматривать внутренности файла как текст.....

почему нет, если так удобнее будет резать?


 
Медвежонок Пятачок ©   (2012-12-26 18:09) [15]

ладно. пусть это останется тайной. зачем надо резать.


 
brother ©   (2012-12-26 18:15) [16]

хм, будь внимательнее и прочитай [5]...


 
Vegeta   (2012-12-26 19:21) [17]

> brother ©   (26.12.12 15:56) [5]

Попробуй уменьшить интервал одного шага импорта до 15 секунд.


 
Медвежонок Пятачок ©   (2012-12-26 19:55) [18]

не хочет импортировать файлы более 3 метров
А может там в скрипте тупо не убран асинхронный режим загрузки документа?


 
Медвежонок Пятачок ©   (2012-12-26 19:58) [19]

http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=28&LESSON_ID=1525

никаких трех метров там нет


 
Eraser ©   (2012-12-26 23:35) [20]


> brother ©   (26.12.12 15:56) [5]

в конфиге аппача поменяй цифру да и всех делов то, потом можно назад вернуть как было.


 
brother ©   (2012-12-27 04:56) [21]

> никаких трех метров там нет

это гарантированный размер файла, который точно грузится...

> в конфиге аппача поменяй цифру да и всех делов то

да не до этого...


 
brother ©   (2012-12-27 05:01) [22]

> Попробуй уменьшить интервал одного шага импорта до 15 секунд.

Афигеть! Помогло! Огромное, человеческое спасибо.
зы. откуда такая информация? я думал увеличивать надо)


 
Барлог_   (2012-12-27 07:20) [23]

Начали за XML, а закончили за апач :)


 
Vegeta   (2012-12-27 11:50) [24]

> brother ©   (27.12.12 05:01) [22]
> зы. откуда такая информация? я думал увеличивать надо)

От техподдержки этого отечественного программного чуда.
Ты не первый, кто наступил на эти грабли.

> Барлог_   (27.12.12 07:20) [23]

Как обычно, xyz.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2013.04.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.003 c
2-1349768093
thely
2012-10-09 11:34
2013.04.28
показ информ окна


2-1350146126
ixen
2012-10-13 20:35
2013.04.28
Загадочный dxDBLookUpTreeList


15-1356839680
Neptune++
2012-12-30 07:54
2013.04.28
Как такое может быть?


6-1267125434
Mer01
2010-02-25 22:17
2013.04.28
Можно ли зная TSocket получить ip и порт удаленной машины?


4-1264961719
ProgRAMmer Dimonych
2010-01-31 21:15
2013.04.28
Получить шрифт заголовка окна без обращения к реестру





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский