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