Перейти к содержимому

Как разделить xml файл на части

  • автор:

Разбить XML файл на несколько частей.

Есть что-то готовое для резки XML (хотя с трудом представляю как. ) на части. Мне надо распилить файл где-то на 20 частей.

По каким критериям резать? Надо ли на выходе получать well-formed/valid XML?

Скорее всего, кури XPath и XSLT.

есть многое на свете, друг горацио, что и не снилось нашим мудрецам

xmllint —help | grep xpath; xslt

Надо ли на выходе получать well-formed/valid XML?

Да. Допустим порезать между тегами 2 уровня вложенности.

Подозреваю тебе прийдется сделать это «аналитически». Используя любую библиотеку считывать, зная формат определять в место разрыва (зная формат его можно определить), например если дерево двухуровневое, можно складывать

50% тегов в один файл и 50% в другой, дублируя корень. Не думаю что есть универсальный инструмент для такого. Это же как резать без рентгена.

Как разбить xml файл на части

В предыдущем совете (См. Ссылки по теме) объяснялось, как совместить два различных XML-документа в таблице стилей. Для иллюстрации примера использовалась фотогалерея, собранная из четырех отдельных XML-документов, которые в конечном итоге были собраны в одну Web-страницу. Эта методика также подходит для совмещения log-файлов (сбора суточных отчетов в месячный) и оглавлений (сбора нескольких глав в одно оглавление).

Сегодня мы рассмотрим другой случай, при котором один XML-документ необходимо разбить на несколько частей. Длинные документы можно разбивать на небольшие страницы, которые будут быстрее загружаться.

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

Листинг 1. gallery.xml – фотогалерея в одном XML-документе

В разбиении страниц есть как положительные, так и отрицательные моменты. Хорошим является то, что можно разбить документ на любое количество страниц при помощи обычного обработчика XSLT. Плохо то, что это, пока, не является стандартной функцией, так как XSLT-обработчики имеют различные реализации. К счастью, эти различия лишь «косметические».

Листинг 2 представляет собой таблицу стилей для публикации фотогалереи. Обратите особое внимание на шаблон для тега gl:photo . Этот шаблон создает отдельную HTML-страницу, сохраняющуюся как самостоятельный файл при помощи тега xalan:redirect . Таблица стилей была проверена на JDK 1.4.1 и работает только с XSL-обработчиками JDK или Xalan (Apache Xalan является основной реализацией для JAXP).

Листинг 2. jdk.xsl – таблица стилей для JDK 1.4 (и Xalan)

Исходный код (См. Ссылки по теме) включает в себя документ, таблицу стилей и небольшое Java-приложение для тестирования кода. Для запуска этого примера вам понадобится JDK 1.4.

Тег xalan:redirect указывает обработчику сохранить содержимое элемента в отдельном файле. Имя файла задается атрибутом select . В нашем примере таблица стилей создает имена файлов путем добавления номера фотографии (или, точнее, ее позиции) к строке photo- . Файлы называются, соответственно, photo-1.html , photo-2.html , photo-3.html и photo-4.html .

К несчастью тег xalan:redirect не является частью стандарта, так что другие обработчики не смогут его распознать. Тег xalan:redirect реализован как расширение. Для его объявления необходимо объявить пространство имен для URI-адреса org.apache.xalan.xslt.extensions.Redirect . Надо отметить, что этот адрес не является правильным URI, однако Xalan его все равно распознает. После этого необходимо объявить пространство имен как расширение с помощью атрибута extension-element-prefixes . Объявление пространства имен и атрибут extension-element-prefixes должны располагаться в элементе xsl:stylesheet .

Как обстоят дела с другими обработчиками

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

К примеру, если вы захотите воспользоваться обработчиком Saxon, автором которого является Michael Kay, вместо xalan:redirect . в шаблоне gl:photo вам необходимо будет использовать тег saxon:output . Изменения здесь минимальны, так как синтаксис тега saxon:output очень похож на xalan:redirect . В листинге 3 показана версия Листинга 2 для Saxon. Обратите внимание на использование пространства имен для расширения, определенного в Saxon.

Листинг 3. saxon.xsl – таблица стилей для Saxon

В разрабатывающейся версии XSLT 2.0 определяется стандартная инструкция для генерирования многократных выводов. На практике она очень похожа на xalan:redirect или saxon:output , однако ей будет назначено стандартное имя. В последней версии проекта XSLT 2.0 (на момент написания статьи – 2 мая 2003 г.) эта инструкция называется xsl:result-document . В Листинге 4 демонстрируется ее использование. Обратите внимание, здесь уже используется таблица стилей XSLT 2.0, как заявлено в атрибуте версии.

Листинг 4. xsl2.xsl – таблица стилей XSLT 2.0 с новой инструкцией xsl:result-document

При публикации Web-сайта вам может помочь разбиение одного XML-документа на несколько частей. Это упрощает загрузку и улучшает эффективность, кроме того, может помочь при работе с фреймами. Между тем, использование множественных выводов не ограничивается лишь публикацией. Эту методику можно использовать также в проектах электронной коммерции для разбиения больших результатов экспорта баз данных на меньшие, которыми легче управлять.

Загрузка кода примера

Имя Размер Метод загрузки
x-tipdivbigcode.zip FTP

Benoit Marchal является бельгийским консультантом. Он автор книги XML by Example, Second Edition и других книг по XML. Автор доступен для помощи в XML-проектах. С ним можно связаться по адресу bmar[email protected] или через персональный сайт marchal.com.

Выскажите мнение об этой странице

Как разделить один большой XML-файл на несколько мелких

Программы

Программа для разделения большого файла XML, в который происходит экспорт содержимомго блога, на несколько файлов, не превышающих предельно допустимый для этой операции размер.

�� Научим создавать сайты на WordPress бесплатно за 19 уроков. Подробнее →

Если вы будете экспортировать содержимое блога,используя стандартную функцию импорта в XML-фал, то при большом объеме информации может оказаться, что этот файл будет большого размера. Настолько большого, что потом вы не сможете импортировать из него данные, так как он будет превышать максимально допустимый при импорте размер в 2 мегабайта. Конечно, это слишком маленький размер, если речь идет об импорте большого блога с многолетней историей и тысячами постов и страниц. Приходится применять хитрые подходы к экспорту, создавая XML-файлы, содержащие только посты за один месяц, но в очень активных блогах даже такой подход может не всегда выручать. Найти выход из такого положения позволяет программа WXR File Splitter.

Эта простая программа позволяет разрезать один большой XML-файл на несколько небольших без ущерба их работоспособности — каждый файл может быть открыт отдельно. Все, что вам нужно, так это указать исходный файл и выставить максимальный размер. Программа аккуратно разрежет исходный файл на несколько файлов установленного размера, автоматически дав им название, используя название исходного файла, и пронумеровав.

После этого при экспорте содержимого блога в файл XML вы можете не беспокоиться о его размере, ведь в любой момент вы можете разделить его на несколько файлов приемлемого для импорта размера, и по очереди импортировать данные из этих файлов.

WXR File Splitter Мне нравитсяНе нравится

Как разделить yml-ссылку импорта на несколько частей? – tiu.ru

Рекомендуемый размер yml-файла до 180 МБ.

Для файлов большего размера нужно разделить yml-ссылку на несколько частей:

  1. Скачать программу https://www.sublimetext.com/ и установить ее.
  2. Посчитать на сколько частей нужно разделить файл, чтобы каждый файл был нужного размера. Например, если файл 320 МБ, то нужно разделить его на две части.
  3. Создать в программе SublimeText нужное количество файлов.
  4. Скопировать в каждый файл шапку из текущего файла:
    Например,
    верх
    <yml_catalog date=»2018-07-17 02:23″><shop><name>Alp</name><company>Alp</company><url>alp.com.ua</url><currencies><currency rate=»1″/></currencies><categories><category>Гидрокостюмы</category></categories><offers>
    низ
    </offers></shop></yml_catalog>
  5. В каждый файл вставить между “верх” и “низ” скопированные части с информацией о товаре из исходного файла. Эти части должны начинаться с <offer и заканчиваться </offer>.
  6. Сохранить файлы с формате yml.
  7. Загрузить сохраненные файлы по инструкции.

QXmlEdit — XML-редактор

XML-редактор, основанный на Qt. Он может разделить очень большие файлы XML на фрагменты, и сравнить XML и XSD файлы.

Основные характеристики:

  • Иерархический настраиваемый вид XML элементов;
  • Быстрая навигация иерархии XML;
  • Разделение больших XML-файлов;
  • Поиск, поддерживающий выражения XPath;
  • Обработка данных Base64;
  • Пользовательские стили визуализации;
  • XML-схемы (XSD) для просмотра;
  • Столбчатый вид;
  • Обработка сессий;
  • Графическое представление XML-файла;
  • Представление карты XML-документа;
  • Разделение и извлечение фрагментов больших файлов XML;
  • Визуальное сравнение файлов XML-схем;
  • Визуальное сравнение из XML-файлов;
  • XML фрагменты;
  • XSL специализированный режим;
  • Анонимизация данных.

Для работы программы требуется QT библиотека версия 4.8 или выше. Поддерживается QT 5.

Язык: Английский
Лицензия:
GNU LGPL v2

Протестировано на ОС: Windows 7 x64, Windows 10 x64

Официальный сайт: qxmledit.org

Перейти в каталог загрузки на sourceforge

Внимание, резервная копия обновляется очень редко, так как нужна на случай удаления дистрибутива с официального сайта.

Резервная копия на Яндекс Диске, версия 0.9.9

Разбиваем большие XML файлы импорта для WordPress

В WordPress есть встроенная система импорта/экспорта, которая позволяет вам импортировать или экспортировать ваши записи WordPress в формат XML. При переезде, к примеру, на другой хостинг и домен иногда неожиданно оказывается, что файлы экспорта — больше чем лимит для загрузки файлов, установленный вашим хостером. В таких случаях у вас, как правило, два варианта. Первый — попросить вашего хостера увеличить максимальный размер для загружаемых файлов. Второй — просто разбить ваш xml-файлик на множество мелких, чтобы загрузить их последовательно, один за одним. В этой статье мы расскажем как разрезать большие XML файлы в WordPress.

Автоматически разбиваем большие файлы XML в WordPress

Даже если вы умеете вручную разбивать объемные XML-ки путем создания множества файлов с одинаковым хидером, рубриками и информацией в футере, а также разделяя остальные элементы. Но! У вас есть на это лишнее время? Для этого существуют отличные бесплатные инструменты, которые помогут вам справиться с задачей в несколько кликов.

Для пользователей ОС есть утилита под названием WordPress WXR File Splitter. Скачайте и установите эту программу. После того, как вы ее запустите, увидите такое окно:

Нажимаем на кнопку open WXR file для того, чтобы открыть экспортированный XML-файл. Утилита «прочитает» файл и отобразит полезную информацию о нем. Программа считает заголовок, футер и покажет количество элементов в файле.

Вы можете подобрать размер файла, когда будете разбивать большой файл на маленькие или же, можно указать количество мелких xml-ек. В любом случае, на выходе наш «толстый» файлик расколется на несколько мелких и вы сможете загрузить их без превышения аплоад-лимита хосстера. Когда вы выставите все настройки, нажимайте кнопку Split Files и программа сделает свою работу, положив мини-XMLки в ту же папку, где лежит ваш исходный файл экспорта.

Для пользователей Mac также есть подобного рода утилита. Называется она WordPress WXR Split utility. Принцип действия ее тот же, как и алгоритм использования.

Надеемся, что статья помогла вам разбить большие XML файлы импорта для WordPress и справится с лимитом на загружаемые в WordPress файлы. Если остались вопросы — милости просим в комментарии.

Rating: 0.0/5 (0 votes cast)

Как Разбить Xml Файл На Несколько Файлов Xml

Я пытаюсь разбить XML файл на несколько небольших xml файлов в С#.net и am
пытаясь получить наилучший возможный подход к этому. Любая помощь по этому поводу будет
отличный пример. Пример того, что я пытаюсь сделать.

Как разделить один большой XML-файл на несколько мелких — программа WXR File Splitter

Как разделить один большой XML-файл на несколько мелких - программа WXR File Splitter | n-wp.ru

Если вы будете экспортировать содержимое блога,используя стандартную функцию импорта в XML-фал, то при большом объеме информации может оказаться, что этот файл будет большого размера. Настолько большого, что потом вы не сможете импортировать из него данные, так как он будет превышать максимально допустимый при импорте размер в 2 мегабайта. Конечно, это слишком маленький размер, если речь идет об импорте большого блога с многолетней историей и тысячами постов и страниц. Приходится применять хитрые подходы к экспорту, создавая XML-файлы, содержащие только посты за один месяц, но в очень активных блогах даже такой подход может не всегда выручать. Найти выход из такого положения позволяет программа WXR File Splitter.

Как разделить один большой XML-файл на несколько мелких - программа WXR File Splitter (2)

Эта простая программа позволяет разрезать один большой XML-файл на несколько небольших без ущерба их работоспособности — каждый файл может быть открыт отдельно. Все, что вам нужно, так это указать исходный файл и выставить максимальный размер. Программа аккуратно разрежет исходный файл на несколько файлов установленного размера, автоматически дав им название, используя название исходного файла, и пронумеровав.

Как разделить один большой XML-файл на несколько мелких - программа WXR File Splitter (3)

После этого при экспорте содержимого блога в файл XML вы можете не беспокоиться о его размере, ведь в любой момент вы можете разделить его на несколько файлов приемлемого для импорта размера, и по очереди импортировать данные из этих файлов.

Быстрое разделение больших файлов XML

Существуют различные инструменты, которые позволяют пользователям разделять большие файлы, но что, если вы хотите разделить большой файл XML? XML обозначает расширяемый язык разметки и является основой различных современных форматов документов. Split That XML или же OOXP Splitter является портативным инструментом с открытым исходным кодом, разработанным только для одной цели — разделения больших файлов XML, сохраняя при этом взаимосвязь детей и родителей, количество элементов и проверку XML.

Это один исполняемый файл, который также может быть запущен с USB-накопителя. Использование не так сложно, все, что вам нужно сделать, это загрузить файл данных XML, файл схемы XML, выбрать максимальный размер и минимальный размер и создать раздел. Вы также можете сделать горизонтальную перегородку.

Скачать Split That XML / OOXP Splitter

Он работает на всех версиях Windows, включая последнюю версию Windows 7. Наслаждайтесь!

Рекомендуемые:

Быстрое удаление больших файлов в Windows с помощью перетаскивания с нуля

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

Разделение и объединение PDF-файлов: разбивать, объединять, вращать, смешивать и визуально изменять порядок PDF-файлов

PDF, или Portable Document Format — это всемирно известный формат файлов, используемый для публикации документов, которые должны быть просмотрены получателем так, как задумал автор.

Простой текстовый разделитель — разделение больших текстовых файлов в Windows 8 и 7

Вы ищете способ разбить большой текстовый файл на несколько частей? Simple Text Splitter — это простой в использовании портативный текстовый сплиттер, который в основном

Простое разделение больших файлов CSV на более мелкие части с заголовками столбцов

Данные-дробилки, вашему вниманию, пожалуйста. Как вы все знаете, просмотр большого количества данных является утомительной работой, особенно когда вы застряли с повторением

Превратите ваш веб-браузер в файловый сервер для отправки больших / больших файлов бесплатно

Хотите поделиться большим файлом со своим другом, не загружая никакого программного обеспечения или не загружая его на какой-либо веб-сайт / сервер? Не беспокойся, теперь ты можешь

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

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