dcsimg
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Advanced
Apr 29, 2008

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


Using StAX to Clone an XML Document

To clone an XML document at runtime, use the StAX XMLEventReader and XMLEventWriter classes like this:

//AirWings_order.xml - the original XML in this example
//AirWings_order_clone.xml - the clone of AirWings_order.xml

import javax.xml.stream.*;
import java.io.*;

public class StAXBasicEventWriter_clone{
   public StAXBasicEventWriter_clone(){}

   public static void main(String[] args)
   {
      XMLInputFactory XMLif=null;
      XMLOutputFactory XMLof=null;
      XMLEventReader XMLer=null;
      XMLEventWriter XMLew=null;
             
      System.setProperty("javax.xml.stream.XMLInputFactory",
         "com.sun.xml.stream.ZephyrParserFactory");     
      System.setProperty("javax.xml.stream.XMLOutputFactory",
         "com.sun.xml.stream.ZephyrWriterFactory");

      //get the XMLInputFactory and XMLOutputFactory objects
      XMLif=XMLInputFactory.newInstance();
      XMLof=XMLOutputFactory.newInstance();
                                   
      //get the XMLEventReader and XMLEventWriter objects
      try{
         XMLer=XMLif.createXMLEventReader           
            ("file:///C://Data_Local//xml//docs//", 
            new FileReader 
            ("C://Data_local//xml//docs//AirWings_order.xml"));
         XMLew=XMLof.createXMLEventWriter(
            new FileWriter
            ("C://Data_local//xml//docs//AirWings_order_clone.xml"));
      }catch(java.io.IOException e)
         {System.out.println(e.getMessage());        
      }catch(javax.xml.stream.XMLStreamException e)   
         {System.out.println(e.getMessage());}
                                
      //generate the XML document
      try{
         XMLew.add(XMLer);

         //clean up
         XMLew.close();
         XMLer.close();
      }catch(javax.xml.stream.XMLStreamException e)
         {System.out.println(e.getMessage());}           
   }       
}
Leonard Anghel
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Thanks for your registration, follow us on our social networks to keep up-to-date