I came across this requirement recently. The Java application may encounter huge data input, then it will process the data, unmarshall the data into the RDMS. Because I am going to use a DOM based unmarshalling API to do the last task, so the input XML should be small enough. So there is a requirement for splitting the XML file into small enough size. If you give me some advice, that will be great.