Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.04.28;
Скачать: CL | DM;

Вниз

порезать файл 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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.006 c
15-1356769502
Undertacker
2012-12-29 12:25
2013.04.28
Как прочитать сохраненные файлы Оперы-мини?


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


15-1356883379
Baks
2012-12-30 20:02
2013.04.28
Восстановление фабричного состояния Acer (PQService)


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


15-1356686287
QAZ9
2012-12-28 13:18
2013.04.28
Подсветка синтаксиса