XML,XML Tutorials,Online XML Tutorial,XML Help Tutorials

XML Tutorials - Online tutorials provides details on xml, free xml tutorials, online xml help guide, xml examples and program. Also other useful information and resources on xml programming.

XML,XML Tutorials,Online XML Tutorial,XML Help Tutorials

XML Tutorials

     

Transforming XML with SAX Filters

This Example shows you the way to Transform XML with SAXFilters. JAXP (Java API for XML Processing) is an interface which provides parsing of xml documents. Here the Document BuilderFactory is used to create new DOM parsers.There are some of the methods used in code given below for Transforming:-

FileReader fileReader = new FileReader("Document2.xml"):-Creates a new FileReader by which the File is readed from.

SAXSource source = new SAXSource(filter, inputSource):-Creates a SAXSource object which acts as an holder for SAX-style Source.

FileWriter fw = new FileWriter("out.xml"):-Creates a new FileWriter object given a File Object

TransformerFactory factory = TransformerFactory.newInstance():-TransformerFactory is a class that is used to create Transformer objects. A TransformerFactory instance can be used to create Transformer and Templates objects.

Xml code for the program generated is:-

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Company>
  <Employee>
  <name Girish="Gi">Roseindia.net
  </name>
  </Employee>
  <Employee>
  <name Komal="Ko">newsTrack
  </name>
  </Employee>
  <Employee>
  <name Mahendra="Rose">Girish Tewari
  </name>
  </Employee>
</Company>
  

XMLwithSAX.java

/* 
 * @Program for Transforming XML with SAXFilters
 * XMLwithSAX.java 
 * Author:-RoseIndia Team
 * Date:-23-July-2008
 */

import 
org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.sax.*;
import java.io.*;

public class XMLwithSAX {
public final static void main(String[] argsthrows Exception {
  class CustomFilter extends XMLFilterImpl {
  }
  FileReader fileReader = new FileReader("Document2.xml");
  BufferedReader br = new BufferedReader(fileReader);
  InputSource inputSource = new InputSource(br);

  XMLReader parser = XMLReaderFactory.createXMLReader();
  CustomFilter filter = new CustomFilter();
  filter.setParent(parser);

  SAXSource source = new SAXSource(filter, inputSource);
  FileWriter fw = new FileWriter("out.xml");
  BufferedWriter bw = new BufferedWriter(fw);
  StreamResult result = new StreamResult(bw);

  TransformerFactory factory = TransformerFactory.newInstance();
  Transformer transformer = factory.newTransformer();
  transformer.setOutputProperty(OutputKeys.INDENT, "yes");
  transformer.transform(source, result);
  }
}
  

Output of the program:-

<?xml version="1.0" encoding="UTF-8"?>
<Company>
  <Employee>
  <name Girish="Gi">Roseindia.net
  </name>
  </Employee>
  <Employee>
  <name Komal="Ko">newsTrack
  </name>
  </Employee>
  <Employee>
  <name Mahendra="Rose">Girish Tewari
  </name>
  </Employee>
</Company>
  


Download Source Code