Как объединить xml файлы в один
Перейти к содержимому

Как объединить xml файлы в один

  • автор:

Как объединить xml файлы в один

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Developing.ru

Короче, ситуация: есть очень много (несколько тысяч) однотипных .xml файлов со структурой, как в прикрепленном примере. Структура везде и всегда одна и та же.

Нужно их всех слепить в один полноценный файл.xml Но при этом, удалить из всех файлов в процессе сбора (так чтобы в итоговом не было) некоторые теги. Далее файл должен нормально читаться Exel.

При этом сделать нужно при помощи наиболее универсального (читай — легко редактируемого) средства — то есть как вариант на скрипте CMD, WSH/PoSH, и т.п.

ИЛИ — нужно свести некоторые данные (теги) из всех файлов в одну таблицу (любого читаемого простыми средствами Окон формата).

По дурости своей и ностальгии решил замутить все на обычном CMD, но застрял в процессе: как замутить чтение только части файла, откидывая сразу заголовки:

Есть и более простое решение: поместить все в тег , но не уверен, что Exel переварит такой файл.

А как удалить по маске содержимое тега вместе с ним на голом CMD — вообще не знаю.

Решил смотреть в сторону разпарсинга кучи этих xml в таблицу на PowerShell, о в котором я страшный нубище)))

Накурил такой вот код:

$h = @<> dir *.xml | Foreach < $obj = try catch foreach($i in $obj) < $h["$($i.Computer)"] += ,$i.ProcessName >$obj = $null > foreach ($c in $h.Keys) < $h[$c] | Group -NoElement | Select-Object @>,@>,Count | Export-CSV -Path D:\testxml.csv -Delimiter "`t" -Encoding UTF8 -NoTypeInformation > $h.Clear() 

Ну что-то не покатило — ибо как вариант очень вероятный — я натупил.

Во общем прошу помощи в решении! Ибо задача срочная и очень объемная.

У вас нет необходимых прав для просмотра вложений в этом сообщении.

Romeo Сообщения: 3091 Зарегистрирован: 02 мар 2004, 17:25 Откуда: Крым, Севастополь Контактная информация:

Я бы всё-таки не стал это делать на скрипте, так как, судя по размеру и количеству файлов, такой скрипт будет выполняться до конца света. Самым быстрым с точки зрения выполнения конечно же является компилируемая программа, которая просто открывает файлы, как текстовые, ищет по ключевым тегам и прямо кусками, не распаршивая весь остальной контент, вставляет текст в итоговый большой файл. Но тут, конечно же, потребуются знания в программировании.

Entites should not be multiplied beyond necessity @ William Occam

Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)

Сообщение «Спасибо» малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой «Reputation» в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.

Victo Сообщения: 3 Зарегистрирован: 06 окт 2016, 14:32

Ребята выручайте, надо объединить несколько файлов xml в один. Уже весь интернет «перерыл», но так и не нашёл ответа. Нашёл прогу которая сравнивает два файла (winmerge называется) и делает их одинаковыми (возможно я не нашёл как переносить данные с одного файла в другой), но мне надо добавить в один. Подскажите как это сделать.

п.с. я не программист

Romeo Сообщения: 3091 Зарегистрирован: 02 мар 2004, 17:25 Откуда: Крым, Севастополь Контактная информация:

Файлы нужно просто склеить или требуется интеллектуальная обработка данных?
Если просто склеить, то склеивать умеет даже простая консольная команда copy (посмотри синтаксис, использующий плюс).
Если же обычной склейки недостаточно, то нужно уже писать программу, здесь ничего не поделаешь.

Entites should not be multiplied beyond necessity @ William Occam

Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)

Сообщение «Спасибо» малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой «Reputation» в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.

Victo Сообщения: 3 Зарегистрирован: 06 окт 2016, 14:32

В файлах хранится информация от одного сайта. Недавно я сбрасывал систему и не сохранил файлы, так как думал на сервере инфа останется. Оказалось что нет. Мне восстановили файлы и теперь мне надо их скрепить. Восстановленные файлы я открывал на компе, вроде с виду такие же как и должны быть. Я так понимаю надо только скрепить. Попробую тем что ты посоветовал, но я вообще не программёр, даже блокнотом никогда не пользовался. Вообщем попробую — если что отпишусь.

Victo Сообщения: 3 Зарегистрирован: 06 окт 2016, 14:32

Не, я в этом не разберусь. Синтаксис да ещё на английском. Попроще ничё нет? Может какой-то редактор?

Romeo Сообщения: 3091 Зарегистрирован: 02 мар 2004, 17:25 Откуда: Крым, Севастополь Контактная информация:

Да что там разбираться. Если есть файл file1.xml и file2.xml, и нужно их слить и записать результат в файл file_all.xml, то нужно написать следующую команду в командной строке:

copy file1.xml+file2.xml file_all.xml 

Если файлов больше, то их можно добавлять в первый параметр через дополнительные плюсы.

Entites should not be multiplied beyond necessity @ William Occam

Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)

Сообщение «Спасибо» малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой «Reputation» в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.

WinMain Сообщения: 913 Зарегистрирован: 14 янв 2005, 10:30 Откуда: Москва Контактная информация:

Простое склеивание текстовых файлов в один здесь не подойдёт.
Сводный XML-файл должен иметь примерно такую структуру.

[/HTML]Для этого нужно будет написать небольшой скрипт, который будет делать следующее:
— создать выходной XML-файл с заголовочной строкой и пустым корневым тегом.
— найти в указанном каталоге все файлы с расширением .XML, в итоге должен получиться список имён файлов.
— циклом поочерёдно открывать каждый исходный XML-файл и парсером читать данные из его корневого тега.
— добавлять в выходной XML-файл полученные данные в виде дочерних тегов (желательно присваивать каждому тегу уникальное имя).

Такая задачка легко решается на языках типа Java, Python, C#. Программисту средней квалификации на это хватит пары часов.
Но если человек не знаком с программированием, то ему самому это будет не под силу.
Лучше обратиться в раздел «Решите мне задачку» и предложить некоторое вознаграждение.

8 сообщений • Страница 1 из 1

  • Системное и прикладное программирование
  • ↳ Win API, Shell..
  • ↳ C и C++
  • ↳ Delphi и Pascal
  • ↳ Программирование на Pascal и Delphi (Object Pascal)
  • ↳ Все вопросы ООП
  • ↳ Компоненты в Delphi
  • ↳ Delphi и WinAPI, ActiveX и OLE , COM и DCOM, и т.д
  • ↳ Java
  • ↳ MS Office и VB(A).
  • ↳ Ассемблер
  • WEB программирование
  • ↳ JScript, VBScript, DHTML.
  • ↳ Perl, PHP, ASP .
  • Некатегоризированное
  • ↳ Вопрошайка
  • ↳ SQL
  • ↳ Алгоритмы
  • ↳ Дизайн и графика
  • Администрирование
  • ↳ Apache, IIS.
  • ↳ Операционные системы
  • Работа
  • ↳ Вакансии и заказы для программистов
  • ↳ Поиск работы и заказов.
  • ↳ Решите мне задачку
  • ↳ задачи на Паскале и Delphi
  • ↳ задачи на C и C++
  • ↳ задачи на Basic и Visual Basic (VB)
  • Прочее
  • ↳ Жалобная книга
  • ↳ Флейм.

Объединить XML через C#

Объединяйте документы XML в браузере без необходимости Adobe Acrobat или автоматизации с помощью C#

Объединить XML файлов с помощью .NET

Чтобы объединить файл XML, мы будем использовать API Aspose.PDF для .NET, который представляет собой многофункциональный, мощный и простой -использовать API для работы с документами для платформы net. Особенностью Aspose.PDF является API для объединения XML. Отличительной чертой этого подхода является то, что вам нужно только открыть NuGet, найти Aspose.PDF и установить его без каких-либо специальных действий. сложные настройки. Наша библиотека .NET может преобразовать документ из любого поддерживаемого формата загрузки в любой поддерживаемый формат сохранения. Библиотека Aspose.PDF for .NET предоставляет достаточно универсальные решения, которые помогут вам решить задачи по конвертации документов. Aspose.PDF поддерживает наибольшее количество популярных форматов документов как для загрузки, так и для сохранения. Обратите внимание, что в данном разделе описаны только популярные конверсии. Текущая страница содержит информацию о преобразовании формата в формат. Однако существует множество комбинаций для преобразования ваших файлов. Полный список поддерживаемых форматов см. в разделе Поддерживаемые форматы файлов. Подробную информацию об установке библиотеки см. на страницах Документация. Вы также можете использовать следующую команду из консоли диспетчера пакетов.

Package Manager Console

PM > Install-Package Aspose.PDF

Слияние XML

Слияние — это процесс, когда вы загружаете несколько файлов одного формата, преобразуете их и сохраняете в один файл нужного формата. Это похоже на одновременное использование конвертации и сжатия. Когда вам понадобится такая функциональность? :

• Если требуется объединить файлы MPP в один файл для создания презентации или около того.

• Когда вы хотите поделиться всей проектной документацией с заинтересованными сторонами сразу в одном файле подходящего формата.

• Когда вам нужен доступ к данным MS Project с любого устройства.

Это приложение для слияния XML — это именно то решение, которое вы ищете. Он прост в использовании и быстр. Он работает на любой платформе и на любом устройстве. Для объединения файлов MS Project вам нужен только браузер. Функциональность также доступна для интеграции в ваш продукт. Обратитесь к разделу Документация, чтобы узнать больше об этой возможности.

  • Простой способ объединить несколько файлов MPP.
  • Сохраняйте объединенные документы на своем устройстве.
  • Объединить MS Project онлайн.
  • Интегрируйте функциональность в собственное решение.

Как объединить MPP

  • Выберите Приложение для объединения, равное формату, в котором вы хотите сохранить документы.
  • Чтобы добавить файлы, нажмите в любом месте синей области или кнопку «Обзор файлов», чтобы загрузить или перетащить их. Вы также можете добавить документы, введя их URL-адрес в ячейку URL-адреса.
  • Нажмите кнопку «Объединить». Ваш MPP-файл будет загружен и объединен в результирующий формат.
  • Чтобы сбросить выделение или начать сначала, щелкните крестик в правом верхнем углу области перетаскивания.
  • Ссылка на скачивание результата будет доступна сразу после этого.
  • Чтобы начать заново, нажмите кнопку Вернуться к приложению.

FAQ

  • Как объединить MPP файлы? Чтобы добавить файлы, нажмите в любом месте синей области или кнопку «Обзор файлов», чтобы загрузить или перетащить файл. Вы также можете добавить документы, введя их URL-адрес в ячейку URL-адреса. Затем нажмите кнопку «Объединить». Скоро вы получите результат.
  • Сколько времени нужно, чтобы объединить MPP? Это слияние работает быстро. Процесс занимает всего несколько секунд.
  • Безопасно ли использовать это приложение? Конечно! Ссылка для скачивания результата будет доступна сразу после слияния. Мы удаляем загруженные файлы через 24 часа, после чего ссылки на скачивание перестанут работать. Никто не имеет к ним доступа. Это абсолютно безопасно.
  • Могу ли я использовать приложение в Linux, Mac OS или Android? Да, вы можете использовать его в любой операционной системе с веб-браузером. Он работает онлайн и не требует установки программного обеспечения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *