Xponent logo Xponent Software
Specialists in Large XML Documents Privacy Policy Contact

XmlSplit: Split Any Size XML With Script or Wizard Without Coding


XmlSplit Methods Screen
XmlSplit Wizard. Click for all screen shots.

Test It Today. The trial splits any size XML.

Download Button buy button $99.00 USD

Fast, Flexible XML Splitter:
  • Splits complex and irregular XML structures.
  • A command-line XML splitter automates tasks via script.
  • A GUI wizard that auto-generates scripts for the command-line splitter so there is no coding, and it can also directly split the XML.
  • A fast XML viewer integrated into the wizard.
  • Several methods and options to control where and how to split.
  • XML file merge.
"XMLSplit has saved me immense amounts of time in working with large, unruly XML files. The interface is easy to use, and the program itself is quick and concise. All I can say is XMLSplit is awesome!" 
Jason Descamps, Chief Information Officer, Marisol International, Springfield, MO USA.
More testimonials, including a customer that split a 113 GB XML file.

Check out these detailed examples. Find out what's new in the current release.

Multiple Split Methods

Split After a Specified Number of Elements.

Splits XML after user-specified number elements per file.

Split When An Element Name Changes.

Creates a new split file when the name of an element at the specifed depth changes.

Split When The Value Of Specified Attribute Changes

The splitter creates a new split file upon change in value of the attribute in an element at the specifed depth.

Split When Namespace Changes

Creates a new split file when the namespace in scope changes.

Split When nodetype Comment, CDATA or ProcessingInstruction Occurs

Accepts a list containing any of these node types and creates a new split file when one of the listed node types occurs and optionally contains specified text.

Useful Options

Preserve Structure.Creates split files having the same structure as the source XML. Helps ensure XML schema validity.

Header Element. Includes the first element under the root (header) in each split file. Read our blog article...

Root Element. Encapsulates each split file with the specified root. If it has attributes, it automatically handles the quotes so the entire root is properly quoted for the script engine.

Include File. The specified file is inserted at the beginning of each split file. One use is to insert XML comments.

Append File. Inserts the specified file at the end of each split file. When used with an Include File, each split file may be nested within multiple parent elements.

Threshold Element. Specifies the first element in the source file to split at.

Encoding. Specifies the encoding used to write the split files. utf-8, utf-16 and iso-8859-1 are currently supported.

Write Byte Order Mark. Specifies whether the splitter writes a byte order mark in each split file. This is useful when feeding the split files into other software that may either require it, or fire an exception if it occurs.

Write DOCTYPE. If a DOCTYPE node occurs, specifies if the splitter writes it in each split file, first only, or none.

How Does It Work?

The file to be split must be well-formed XML (correct XML syntax, element nesting, etc.). If it is not, processing stops and an error message is provided with the error line number. Our XMLMax editor is efficent at locating and fixing such errors, especially in extremely large files.

The XmlSplit Wizard generates Powershell and Windows Script Host scripts that run XmlSplit in command-line mode. The Wizard can also split the XML directly from its dialog where it reports progress and enables cancellation at any time.

XmlSplit uses an XmlReader to read and parse the input XML document. It evaluates the input parameters when each node is read to determine if the node is to be written to the current split file or a new split file created. Auto-numbered split files are named based on an output file parameter. It automatically handles file names with spaces by encapsulating them with quotes.

Many XmlSplit customers receive large XML files electronically and need to split and import them into database tables. Calling XmlSplit in a script allows the entire process to be fully automated.

Splitting several large XML documents in batch process as explained in this article.

Rate of execution varies little with respect to size of the file being split because only a small segment is read into memory.


What's New

Current Version: 3.2.1.1

Resolved an issue in two of the Miscellaneous split methods: Split when attribute value changes and split when namespace changes. Prefixed namespaces that were declared in the root element and user did not include them in the Options tab textbox for the root element resulted in split files that are not well-formed XML because they contained undeclared namespaces. The Options tab now autofills the root element textbox if it is left empty and also includes a tooltip that the root element may be dragdropped from the XML Viewer. The help file was updated to include this information.

Fixed bug in XML Viewer that impacted the licensed version only. An attempt to collapse an element in the treeview where the element has a large number of child nodes sometimes failed with the message "Unable to collapse."



XML Viewer
  • Helps determine where to split the XML file by browsing it in a collapsable, syntax-colored treeview.

  • The Viewer is very fast and requires little memory because it loads a small number of XML nodes at at time.

  • The Viewer can access the entire file if needed.

  • It was tested with the 270 GB file referenced on the XMLMax page.


System Requirements

Any Windows Operating System From XP to the most recent.


Copyright Ⓒ 2008-2023. Xponent LLC. All rights reserved.