Transforming XML with SAXFilters

This Example shows you how to Transform XML with SAXFilters.

Transforming XML with SAXFilters

Transforming XML with SAXFilters

     

This Example shows you how 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 XML with SAXFilters:-

FileReader fileReader = new FileReader("Document2.xml"):-FileReader is a convenience class for reading character files. it is generally meant for reading streams of characters.

CustomFilter filter = new CustomFilter():-creates a custom filter.

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[] args) throws 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