|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
||||||
Нежелательное задвоение при парсинге XML10.02.2024, 08:00. Показов 3039. Ответов 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
|
|
|
Нарушитель
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,048
|
|
| 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
|
||||||
|
Нарушитель
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,048
|
|
| 13.02.2024, 11:57 | |
|
Какой ещё SSTest, должны быть таблицы Заказы, Товары, ТорговыеТочки, Накладные и реализованы связи между ними.
Это сделано ?
0
|
|
|
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
|
|
| 13.02.2024, 12:05 [ТС] | |
|
volodin661, Нет таблица одна, куда будет инсертится данные. Один заказ - одна строка в скуле.
0
|
|
|
Нарушитель
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,048
|
||||||
| 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
|
||||||
|
Нарушитель
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,048
|
|||||||
| 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
|
|||||||||||
|
Нарушитель
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,048
|
||||||
| 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
|
|
|
Нарушитель
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,048
|
|
| 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 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|