String manipulations for javax.xml.transform.Source

Viewed 7970

I am using Java and XSL style sheets to retrieve values from an XML file and outputting it to a text file.

Below is the program used:

    TransformerFactory factory = TransformerFactory.newInstance();
    Source xslt = new StreamSource(new File("transform.xsl"));
    Transformer transformer = factory.newTransformer(xslt);
    Source text = new StreamSource(new File("inputXML.txt"));        
    transformer.transform(text, new StreamResult(new File("output.txt"))) ;

But recently I found that the XML files I will be reading will have 2 root nodes and not one. So I am thinking of doing string manipulation to add a root node of my own programatically so that I can avoid the below error:

ERROR: 'The markup in the document following the root element must be well-formed.' ERROR: 'com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The markup in the document following the root element must be well-formed.'

But I am unable to do any String manipulation's on javax.xml.transform.Source (Casting is not working). I do not want to use intermediate files to add my root node as I fear it will prove costly as i need to be processing close to 50k XML records.

2 Answers
Related