|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
||||||
Нежелательное задвоение при парсинге XML10.02.2024, 08:00. Показов 2961. Ответов 46
Метки нет (Все метки)
Добрый день. У меня проблема при парсинге XML. Суть в том что большинство файлов которые я обрабатываю имеют структуру:
заказ (номер) - товарная накладная (номер) - товар один или много. В данном случае все норм. Но есть некоторые документы где в заказе две товарных накладных. Изза этого товар задваивается на то количество, сколько товарных накладных. Взгляните на файл пожалуйста, станет понятно, там оба варианта.
Пните в правильном направлении.
0
|
||||||
| 10.02.2024, 08:00 | |
|
Ответы с готовыми решениями:
46
Ошибка при парсинге XML Кириллица при парсинге XML Ошибка при парсинге XML |
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
|
| 13.02.2024, 07:55 [ТС] | |
|
volodin661, Согласен, хотелось бы избежать посредников в виде сбора массивов или каких-то кастомов, а сразу либо вызывать инвок и инсертить либо передавать в хранимку (не суть). Но значит надо выполнить проверку на наличие более одной товарной накладной в одном заказе. а если товары повторяются в одном заказе, значения их велечин надо просуммировать прежде чем передавать, Как это выполнить без посредников, я не понимаю.
0
|
|
|
7093 / 2324 / 353
Регистрация: 10.12.2013
Сообщений: 8,013
|
|
| 13.02.2024, 10:58 | |
|
sergey020487, инструкции <create table () > готовы ?
0
|
|
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
||||||
| 13.02.2024, 11:23 [ТС] | ||||||
|
Добавлено через 7 минут
volodin661, Если Вы имеете в виду create table () для скуля, то таблицы я создаю вручную. Записываю в них:
0
|
||||||
|
7093 / 2324 / 353
Регистрация: 10.12.2013
Сообщений: 8,013
|
|
| 13.02.2024, 11:57 | |
|
Какой ещё SSTest, должны быть таблицы Заказы, Товары, ТорговыеТочки, Накладные и реализованы связи между ними.
Это сделано ?
0
|
|
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
|
| 13.02.2024, 12:05 [ТС] | |
|
volodin661, Нет таблица одна, куда будет инсертится данные. Один заказ - одна строка в скуле.
0
|
|
|
7093 / 2324 / 353
Регистрация: 10.12.2013
Сообщений: 8,013
|
||||||
| 13.02.2024, 13:52 | ||||||
|
если тебе не нужны возможности RDBMS, зачем она тогда ?
получается, тебе нужна просто NoSQL (Кey/Value) database LightDB, например касательно массива в качестве значения ключа:
исправление : LiteDB
1
|
||||||
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
||||||
| 13.02.2024, 13:59 [ТС] | ||||||
|
volodin661, Я накидал, и даже работает. Надо конечно погонять на разные варианты задвоенности (не пинайте сильно, я новичок)
0
|
||||||
|
7093 / 2324 / 353
Регистрация: 10.12.2013
Сообщений: 8,013
|
|||||||
| 13.02.2024, 14:04 | |||||||
|
sergey020487,
relational database management system
1
|
|||||||
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
||||||
| 14.02.2024, 07:38 [ТС] | ||||||
|
volodin661, А подскажите пожалуйста еще один момент.
Или нужно с самого начала форичем бежать по всем номенклатурам?
0
|
||||||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
||
| 14.02.2024, 08:09 | ||
|
А развернуть и даже потом свернуть - можно.
1
|
||
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
||||||
| 14.02.2024, 09:19 [ТС] | ||||||
|
YuS_2, Вот я добавил foreach чтоб развернуть один массив ('Nomenclature') в таблице.
Есть еще один массив - 'Bonus'. Я хочу чтоб и он тоже вместе с номенклатурой развернулся. Думал обойтись без foreach.
Dorder DATEorder NumTN DateTN Nomenclature Bonus ------- --------- ----- ------ ------------ ----- 8928 2023-10-15 ФГ7,BP2 2023-10-17,2023-10-24 Товар1 {0, 0, 0} 8928 2023-10-15 ФГ7,BP2 2023-10-17,2023-10-24 Товар2 {0, 0, 0} 8928 2023-10-15 ФГ7,BP2 2023-10-17,2023-10-24 Товар3 {0, 0, 0} 8966 2023-10-15 9299 2023-10-20 Товар4 0
0
|
||||||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||||||
| 14.02.2024, 13:01 | |||||||
2
|
|||||||
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
|
| 14.02.2024, 19:18 [ТС] | |
|
YuS_2, Спасибо огромное.
0
|
|
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
|||||||||||
| 27.02.2024, 13:42 [ТС] | |||||||||||
|
YuS_2, Скажите пожалуйста, а реально ли избежать конвейеров :
Добавлено через 1 час 43 минуты попробовал в скрипт запихать :
0
|
|||||||||||
|
7093 / 2324 / 353
Регистрация: 10.12.2013
Сообщений: 8,013
|
||||||
| 28.02.2024, 17:08 | ||||||
|
а куда спешить-то ?
какая нужна скорость, у тебя гигабайтный XML обрабатывается что-ли ? сделать на Perl ? ( был у Perl, помню, модуль XML::Fast, написан на голом 'C', разбирает XML за 1 проход, предполагаю общую скорость исполнения - несколько миллисекунд ) Добавлено через 2 часа 17 минут с миллисекундой погорячился; разбор + вывод == 0.1 сек
1
|
||||||
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
|
| 28.02.2024, 17:13 [ТС] | |
|
volodin661, ну как куда... много скорости не бывает. Да долго парсится, файлы есть по 15 килобайт, есть по 50 мегабайт. поток непрерывный.
0
|
|
|
7093 / 2324 / 353
Регистрация: 10.12.2013
Сообщений: 8,013
|
|
| 28.02.2024, 17:26 | |
|
sergey020487,
а можешь выложить куда-нить 50/100 Мб-ный XML ? спортивный интерес
0
|
|
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
|
| 28.02.2024, 17:48 [ТС] | |
|
volodin661, сейчас дома, завтра закину
0
|
|
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
||||||||
| 29.02.2024, 13:54 | ||||||||
![]() Можно, конечно:
![]() У Вас там 5 циклов, вместо двух... это не может работать быстрее...
1
|
||||||||
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
|
| 29.02.2024, 14:08 [ТС] | |
|
YuS_2, Сколько читал на стаке, все утверждают, что самое медленное в шеле это конвеер. а самое быстрое это форич.
0
|
|
| 29.02.2024, 14:08 | |
|
неверная кодировка при парсинге xml
Вытащить атрибут при парсинге xml Ошибка при парсинге xml файла Ошибка при парсинге большого XML (190МБ) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|