dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: Java
Expertise: Advanced
Jun 2, 2008

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


Use LSOutput and LSSerializer to Serialize a DOM Tree

This tip shows you how to use the LSOutput/LSSerializer interfaces (from the DOM Load and Save API) for serialize a DOM tree. Extract the DOM tree with the following basic steps:

//AirWings_xml.xml - the XML document from this example
//LSOutput_1.xml - the result of serialization

import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;
import org.w3c.dom.ls.*;

class DOM{

  DocumentBuilderFactory DBF=null;
  DocumentBuilder DB=null;
  Document D=null;
  DOMImplementationLS DOMiLS=null;
  FileOutputStream FOS=null;

  public DOM(){}
 
  public void StartSerialization(String XMLdoc)
     {
     try{
        //create a DocumentBuilderFactory object
        DBF=DocumentBuilderFactory.newInstance();
       
        //create a DocumentBuilder object
        DB=DBF.newDocumentBuilder();
       
        //get the DOM tree
        D=DB.parse(new File(XMLdoc));              
        }catch(javax.xml.parsers.ParserConfigurationException e)
           {System.out.println(e.getMessage());
        }catch(org.xml.sax.SAXException e)
           {System.out.println(e.getMessage());
        }catch(java.io.IOException e)
           {System.out.println(e.getMessage());}
       
        //testing the support for DOM Load and Save
        if((D.getFeature("Core","3.0")!=null)&&   
          (D.getFeature("LS","3.0")!=null))
           {       
           DOMiLS=(DOMImplementationLS)(D.getImplementation()). 
                   getFeature("LS","3.0");
           System.out.println("[Using DOM Load and Save]");
           }else
             {
             System.out.println("[DOM Load and Save unsupported]");            
             System.exit(0);
             }
 
        //get a LSOutput object
        LSOutput LSO=DOMiLS.createLSOutput();
    
        //setting the location for storing the result of serialization
     try{
        FOS=new FileOutputStream( 
                "C://Data_Local//xml//docs//LS_output_1.xml");
        LSO.setByteStream((OutputStream)FOS);          
        }catch(java.io.FileNotFoundException e)
          {System.err.println(e.getMessage());}
    
        //get a LSSerializer object
        LSSerializer LSS=DOMiLS.createLSSerializer();
    
        //do the serialization
        boolean ser=LSS.write(D,LSO);
    
        //publish the result
        if(ser)
           System.out.println("[Serialization done!]");
             else System.out.println("[Serialization failed!]");

     try{
        FOS.close();
        }catch(java.io.IOException e)
          {System.out.println(e.getMessage());}
     } 
}

public class serializationExample{
 public static void main(String[] args)
  {
  DOM t=new DOM();  
  t.StartSerialization("C://Data_Local//xml//docs//AirWings_xml.xml");
  }
}
Leonard Anghel
 
Comment and Contribute

 

 

 

 

 


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

 

 

Sitemap
×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.
Thanks for your registration, follow us on our social networks to keep up-to-date