|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
||||||
Нежелательное задвоение при парсинге XML10.02.2024, 08:00. Показов 2982. Ответов 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
|
|
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,020
|
|
| 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
|
||||||
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,020
|
|
| 13.02.2024, 11:57 | |
|
Какой ещё SSTest, должны быть таблицы Заказы, Товары, ТорговыеТочки, Накладные и реализованы связи между ними.
Это сделано ?
0
|
|
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
|
| 13.02.2024, 12:05 [ТС] | |
|
volodin661, Нет таблица одна, куда будет инсертится данные. Один заказ - одна строка в скуле.
0
|
|
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,020
|
||||||
| 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
|
||||||
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,020
|
|||||||
| 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
|
|||||||||||
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,020
|
||||||
| 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
|
|
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,020
|
|
| 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МБ) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|