|
2 / 2 / 0
Регистрация: 21.10.2019
Сообщений: 232
|
|||||||||||
Соединение XML файлов в один04.07.2023, 13:06. Показов 1967. Ответов 38
Подскажите как можно соединить два XDocument. Сам XML в них схожий по структуре так как это выгрузка за разные периоды. Но первая проблема - мы заранее не знаем, что там за xml, какие у него теги. Во вторых нет гарантии, что xml вообще схожий по структуре в этом случае его соединять не надо.
Примеры:
0
|
|||||||||||
| 04.07.2023, 13:06 | |
|
Ответы с готовыми решениями:
38
Не получатся записать данные из нескольких xml файлов в один Соединение нескольких файлов в один Обьединить несколько xml файлов в один |
|
|
|
| 05.07.2023, 12:46 | |
|
Если я был программист, то я бы сделал вообще без размышления о структуре в XML.
Десериализуем все XML в объекты. Группируем, сортируем в коде, так как хочется и требуется. Потом сериализуем. Должен получиться нужный XML.
0
|
|
|
2 / 2 / 0
Регистрация: 21.10.2019
Сообщений: 232
|
||||
| 05.07.2023, 13:00 [ТС] | ||||
|
Добавлено через 2 минуты
0
|
||||
|
|
||||||||||||||||
| 05.07.2023, 13:01 | ||||||||||||||||
|
KopHack,
Ищем контейнеры и данные: Метод:
0
|
||||||||||||||||
|
2 / 2 / 0
Регистрация: 21.10.2019
Сообщений: 232
|
||||||
| 05.07.2023, 13:09 [ТС] | ||||||
|
Сейчас такой момент, подскажите как можно решить эту задачу:
0
|
||||||
|
2 / 2 / 0
Регистрация: 21.10.2019
Сообщений: 232
|
||
| 05.07.2023, 13:13 [ТС] | ||
|
0
|
||
|
|
||
| 05.07.2023, 13:20 | ||
|
Добавлено через 1 минуту P.S. level + 1 пока не нужен, по задумке он для ограничения поиска в глубину, в документе, но наверное не нужно оно.
0
|
||
|
2 / 2 / 0
Регистрация: 21.10.2019
Сообщений: 232
|
||||||||||||
| 05.07.2023, 13:25 [ТС] | ||||||||||||
Как вот в xml (которые рабочие) тег Export. Понятно, что он root, но может же быть, что после него будет ещё (как в примере который я привожу в этом сообщении). И тогда body тоже будет в части шапки. И я не понимаю как определить эту шапку, если я заранее не могу знать какой xml придёт. Шапку нужно игнорировать.
0
|
||||||||||||
|
|
||
| 05.07.2023, 13:29 | ||
|
Если "лишние" контейнеры надо игнорировать, то легко выкинуть их при скрещивании документов.
0
|
||
|
800 / 458 / 237
Регистрация: 03.01.2017
Сообщений: 1,342
|
||
| 05.07.2023, 13:29 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 21.10.2019
Сообщений: 232
|
||
| 05.07.2023, 13:31 [ТС] | ||
|
И если эту подзадачу решить, то после шапки можно просто проверять следующий тег и если он одинаковый, то соединять, если разный, то нет.
Добавлено через 1 минуту
0
|
||
|
|
||
| 05.07.2023, 13:33 | ||
|
"Рабочим" контейнером назовем такой контейнер, внутри которого могут быть тоже контейнеры, но с данными. Первый же верхний уровень - НЕ содержащий данных - есть их общий контейнер, который должен присутствовать в другом документе.
Добавлено через 1 минуту
0
|
||
|
800 / 458 / 237
Регистрация: 03.01.2017
Сообщений: 1,342
|
||||||
| 05.07.2023, 13:47 | ||||||
|
Набросал тоже на основе примера wizard41
0
|
||||||
|
|
||
| 05.07.2023, 13:55 | ||
|
Алгоритм примерно такой: нужно добраться до контейнеров с данными и вычленить их, независимо от того, сколько уровней вложенности перед ними. Самый "глубокий" контейнер, содержащий контейнеры с данными и будет являться "корневым" для них. Все предыдущие контейнеры, исключая корневой - удаляются.
0
|
||
|
800 / 458 / 237
Регистрация: 03.01.2017
Сообщений: 1,342
|
||||||
| 05.07.2023, 14:39 | ||||||
|
wizard41, так я же думал, что "шапки" эти известны будут. Если искоренять все лишнее, можно так попробовать:
0
|
||||||
|
|
|||||||||||||||||||||||||||||||||
| 05.07.2023, 15:22 | |||||||||||||||||||||||||||||||||
неа. Сохраняются только первые встреченные данные. Вторых нет, а второго под-контейнера с данными тем более.Добавлено через 22 минуты iLinks, вот сюда можно добавить функционал "запоминания" предыдущих контейнеров:
Это для этого файла: Кликните здесь для просмотра всего текста
Добавлено через 1 минуту Для такого: Кликните здесь для просмотра всего текста
соответствующий вывод:
Добавлено через 6 минут List<string> containers предпоследним.Добавлено через 1 минуту containers[0] содержит имя Root'а документа.
0
|
|||||||||||||||||||||||||||||||||
|
|
|||||||||||
| 05.07.2023, 15:29 | |||||||||||
|
Добавить в класс:
0
|
|||||||||||
|
|
|||||||||||||||||||||
| 05.07.2023, 15:38 | |||||||||||||||||||||
|
Поправка:
if (element.HasElements)
0
|
|||||||||||||||||||||
| 05.07.2023, 15:38 | |
|
Один из xml файлов в Android Studio серого цвета Много XML-файлов - импорт данных в один Excel Нужно объединить очень много файлов XML в один!
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|