XML
XML
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; public class CreateBlankDocument { public static void main(String[] args) { System.out.println("Creating Blank Document..."); try{ //Create instance of DocumentBuilderFactory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //Get the DocumentBuilder DocumentBuilder parser = factory.newDocumentBuilder(); //Create blank DOM Document Document doc = parser.newDocument(); }catch(Exception e){ System.out.println(e.getMessage()); } System.out.println("Done..."); System.out.println("Exiting..."); } }
import java.io.File; import import import import import import import import javax.xml.parsers.DocumentBuilder; javax.xml.parsers.DocumentBuilderFactory; javax.xml.transform.Result; javax.xml.transform.Source; javax.xml.transform.Transformer; javax.xml.transform.TransformerFactory; javax.xml.transform.dom.DOMSource; javax.xml.transform.stream.StreamResult;
class CreateDomXml { public static void main(String[] args) { try{ //Create instance of DocumentBuilderFactory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //Get the DocumentBuilder DocumentBuilder docBuilder = factory.newDocumentBuilder(); //Create blank DOM Document Document doc = docBuilder.newDocument(); //create the root element Element st = doc.createElement("Students"); //add it to the xml tree doc.appendChild(st); //create a comment Comment comment = doc.createComment("This is comment"); //add in the root element st.appendChild(comment); //create child element Element childElement = doc.createElement("student"); //Add the atribute to the child childElement.setAttribute("id","1001"); st.appendChild(childElement); TransformerFactory tranFactory = TransformerFactory.newInstance(); Transformer aTransformer = tranFactory.newTransformer(); Source src = new DOMSource(doc); Result dest = new StreamResult(new File("cpt.xml")); aTransformer.transform(src, dest); }catch(Exception e){ System.out.println(e.getMessage()); } } } output: ---------
Getting The XML Root Element import org.w3c.dom.*; import javax.xml.parsers.*; import java.io.*; public class GetRootNode{ public static void main(String[] args) { try{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter xml file name: "); String str = bf.readLine(); File file = new File(str); if (file.exists()){ DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = fact.newDocumentBuilder(); Document doc = builder.parse(str); Node node = doc.getDocumentElement(); String root = node.getNodeName(); System.out.println("Root Node: " + root); } else{ System.out.println("File not found!"); } } catch(Exception e){} } }
import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.NodeList; public class DOMCountElement{ public static void main(String[] args) { try { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter File name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile); if (file.exists()){
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // Create the builder and parse the file Document doc = factory.newDocumentBuilder().parse(xmlFile); System.out.print("Enter element name: "); String element = bf.readLine(); NodeList nodes = doc.getElementsByTagName(element); System.out.println("xml Document Contains " + nodes.getLength() + " elements."); } else{ System.out.print("File not found!"); } } catch (Exception ex) { System.out.println(ex); } }
XML Well-Formed-ness
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.xml.sax.InputSource; public class DOMParserCheck { static public void main(String[] arg){ try{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter File name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile); if(file.exists()){ try { // Create a new factory to create parsers DocumentBuilderFactory dBF = DocumentBuilderFactory.newInstance(); // Use the factory to create a parser (builder) and use // it to parse the document. DocumentBuilder builder = dBF.newDocumentBuilder(); // builder.setErrorHandler(new MyErrorHandler()); InputSource is = new InputSource(xmlFile); Document doc = builder.parse(is); System.out.println(xmlFile + " is well-formed!"); } catch (Exception e) { System.out.println(xmlFile + " isn't well-formed!"); System.exit(1);
Searching an Element in the given XML Document import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import com.sun.org.apache.xerces.internal.parsers.DOMParser; public class SearchElement{ public static void main(String[] args) { try{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter file name: "); String str = bf.readLine(); File file = new File(str); if (file.exists()){ DOMParser parser = new DOMParser(); parser.parse(str); Document doc = parser.getDocument(); System.out.print("Enter element that have to count: "); String ele = bf.readLine(); NodeList list = doc.getElementsByTagName(ele); if(list.getLength() == 0){ System.out.println("Element doesn't exist in the " + str + " Document."); } else{ System.out.println("Element occurrs " + list.getLength() + " times in the " + str); } } else{ System.out.println("File not found!"); } } catch (Exception e){ e.getMessage(); } } }
public class CreatXMLFile { public static void main(String[] args) throws Exception { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter number to add elements in your XML file: "); String str = bf.readLine(); int no = Integer.parseInt(str); System.out.print("Enter root: "); String root = bf.readLine(); DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); Document document = documentBuilder.newDocument(); Element rootElement = document.createElement(root); document.appendChild(rootElement); for (int i = 1; i <= no; i++){ System.out.print("Enter the element: "); String element = bf.readLine(); System.out.print("Enter the data: "); String data = bf.readLine(); Element em = document.createElement(element); em.appendChild(document.createTextNode(data)); rootElement.appendChild(em); } TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(System.out); transformer.transform(source, result); } }
import org.w3c.dom.Document; import org.w3c.dom.Node; public class GetElementsDOM{ static public void main(String[] arg)throws Exception{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter XML File Name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile); if(file.exists()){ try { // Create a factory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // Use document builder factory DocumentBuilder builder = factory.newDocumentBuilder(); //Parse the document Document doc = builder.parse(xmlFile); TransformerFactory tranFact = TransformerFactory.newInstance(); Transformer transfor = tranFact.newTransformer(); Node node =doc.getDocumentElement(); Source src = new DOMSource(node); Result dest = new StreamResult(new File("Copy_of_Sample.xml")); transfor.transform(src, dest); } catch (Exception e) { System.err.println(e); } } else{ System.out.print("File not found!"); } } }
XML Error checker and locater (DOM) import import import import java.io.BufferedReader; java.io.File; java.io.IOException; java.io.InputStreamReader;
import org.w3c.dom.Document; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; public class DOMLocateError{ static public void main(String[] arg){ try { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter File name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile); if(file.exists()){ // Create a new factory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // Use the factory to create builder document. DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(xmlFile); System.out.println(xmlFile + " is well-formed!"); } else{ System.out.print("File not found!"); } } catch (SAXParseException e) { System.out.println("type" + ": " + e.getMessage()+"\n"); System.out.println("Line " + e.getLineNumber() + " Column " + e.getColumnNumber()); } catch (SAXException e) { System.err.println(e); System.exit(1); } catch (ParserConfigurationException e) { System.err.println(e); System.exit(1); } catch (IOException e) { System.err.println(e); System.exit(1); } } }
import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; public class DOMElements{ static public void main(String[] arg){ try { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter XML File name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile); if(file.exists()){ // Create a factory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // Use the factory to create a builder DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(xmlFile); // Get a list of all elements in the document NodeList list = doc.getElementsByTagName("*"); System.out.println("XML Elements: "); for (int i=0; i<list.getLength(); i++) { // Get element Element element = (Element)list.item(i); System.out.println(element.getNodeName()); } } else{ System.out.print("File not found!"); } } catch (Exception e) { System.exit(1); } } }
Adding DOCTYPE to a XML File import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import import import import import import import import import javax.xml.parsers.DocumentBuilder; javax.xml.parsers.DocumentBuilderFactory; javax.xml.transform.OutputKeys; javax.xml.transform.Result; javax.xml.transform.Source; javax.xml.transform.Transformer; javax.xml.transform.TransformerFactory; javax.xml.transform.dom.DOMSource; javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
public class AddDocType{ static public void main(String[] args){ try{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter XML file name: "); String xmlFile = bf.readLine(); System.out.println(); File file = new File(xmlFile); if (file.exists()){ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(xmlFile); // Create transformer Transformer tFormer = TransformerFactory.newInstance().newTransformer(); // Set system id tFormer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "systmId"); // Set public id // tFormer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, "publicId"); Source source = new DOMSource(doc); Result result = new StreamResult(System.out); tFormer.transform(source, result); System.out.println(); } else{ System.out.println("File not found!"); } } catch (Exception e){ e.getMessage(); } } } Getting Dom Tree Elements and their Corresponding XML Fragments import import import import import import import java.io.*; javax.xml.parsers.*; org.w3c.dom.*; org.xml.sax.*; javax.xml.transform.*; javax.xml.transform.dom.DOMSource; javax.xml.transform.stream.StreamResult;
public class DisplayElementNodes { static public void main(String[] arg){ try{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter a XML file name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile); if (file.exists()){ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(xmlFile); TransformerFactory tranFactory = TransformerFactory.newInstance();
Transformer aTransformer = tranFactory.newTransformer(); // Get nodes list of all elements NodeList list = doc.getElementsByTagName("*"); for (int i=0; i<list.getLength(); i++){ // Get element Element element = (Element)list.item(i); Source src = new DOMSource(element); System.out.println("Node no: " + i + " is " + element.getNodeName()); System.out.println( "Its corresponding xml representation:"); Result dest = new StreamResult(System.out); aTransformer.transform(src, dest); System.out.println("\n"); } } else{ System.out.println(xmlFile + " (file name) doesn't found!"); } } catch (Exception e){ e.getMessage(); } }
Cloning a XML Element import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import import import import import import import import javax.xml.parsers.DocumentBuilder; javax.xml.parsers.DocumentBuilderFactory; javax.xml.transform.Result; javax.xml.transform.Source; javax.xml.transform.Transformer; javax.xml.transform.TransformerFactory; javax.xml.transform.dom.DOMSource; javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; public class DOMCloneElements { static public void main(String[] arg){ try { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter XML file name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile); if (file.exists()){ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(xmlFile); TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer tformer = tFactory.newTransformer(); Source source = new DOMSource(doc); Result result = new StreamResult(System.out); System.out.println(xmlFile + " file: "); tformer.transform(source, result); System.out.println(); System.out.print("Enter the element to clone: "); String clone = bf.readLine(); System.out.print("Enter data to add: "); String addElement = bf.readLine(); //////////////////////////////// NodeList list = doc.getElementsByTagName(clone); Element element1 = (Element)list.item(0); Element copyElement = (Element) element1.cloneNode(true); element1.getParentNode().insertBefore(copyElement, element1.getNextSibling()); element1.appendChild(doc.createTextNode(addElement)); tformer.transform(source, result); } else{ System.out.println("File not found!"); }
Remove Element from XML Document import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import import import import import import import import javax.xml.parsers.DocumentBuilder; javax.xml.parsers.DocumentBuilderFactory; javax.xml.transform.Result; javax.xml.transform.Source; javax.xml.transform.Transformer; javax.xml.transform.TransformerFactory; javax.xml.transform.dom.DOMSource; javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document; import org.w3c.dom.Element; public class RemoveElement { static public void main(String[] arg) { try{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter a XML file name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile);
// //
System.out.print("Enter an element which have to delete: "); String remElement = bf.readLine(); if (file.exists()){ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(xmlFile); TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer tFormer = tFactory.newTransformer(); Element element = (Element)doc.getElementsByTagName(remElement).item(0); Remove the node element.getParentNode().removeChild(element); Normalize the DOM tree to combine all adjacent nodes doc.normalize(); Source source = new DOMSource(doc); Result dest = new StreamResult(System.out); tFormer.transform(source, dest); System.out.println(); } else{ System.out.println("File not found!"); }
Getting Data from XML File (Document) import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import import import import import import import import import javax.xml.parsers.DocumentBuilder; javax.xml.parsers.DocumentBuilderFactory; javax.xml.transform.OutputKeys; javax.xml.transform.Result; javax.xml.transform.Source; javax.xml.transform.Transformer; javax.xml.transform.TransformerFactory; javax.xml.transform.dom.DOMSource; javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document; public class GetData{ static public void main(String[] arg) { try{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter XML file name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile);
// // //
if (file.exists()){ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(xmlFile); Create transformer Transformer tFormer = TransformerFactory.newInstance().newTransformer(); Output text type tFormer.setOutputProperty(OutputKeys.METHOD, "text"); Write the document to a file Source source = new DOMSource(doc); Result result = new StreamResult(System.out); tFormer.transform(source, result); } else{ System.out.println("File not found!"); }
Storing Data (Retrieved from a XML Document) to a File import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import import import import import import import import import javax.xml.parsers.DocumentBuilder; javax.xml.parsers.DocumentBuilderFactory; javax.xml.transform.OutputKeys; javax.xml.transform.Result; javax.xml.transform.Source; javax.xml.transform.Transformer; javax.xml.transform.TransformerFactory; javax.xml.transform.dom.DOMSource; javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document; public class StoreData{ static public void main(String[] arg) { try{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter XML file name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile); if (file.exists()){ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(xmlFile); // Create transformer Transformer tFormer = TransformerFactory.newInstance().newTransformer();
// // //
Output Types (text/xml/html) tFormer.setOutputProperty(OutputKeys.METHOD, "text"); Write the document to a file Source source = new DOMSource(doc); Create File to view your xml data as vk.txt/vk.doc/vk.xls/vk.shtml/vk.html) Result result = new StreamResult(new File("vk.txt")); tFormer.transform(source, result); System.out.println("File creation successfully!"); } else{ System.out.println("File not found!"); }
XML Validate DTD import java.io.FileInputStream; import import import import import import import javax.xml.parsers.DocumentBuilder; javax.xml.parsers.DocumentBuilderFactory; javax.xml.transform.OutputKeys; javax.xml.transform.Transformer; javax.xml.transform.TransformerFactory; javax.xml.transform.dom.DOMSource; javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; public class DOMValidateDTD { public static void main(String args[]) { try{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(true); DocumentBuilder builder = factory.newDocumentBuilder(); builder.setErrorHandler(new org.xml.sax.ErrorHandler() { //Ignore the fatal errors public void fatalError(SAXParseException exception)throws SAXException { } //Validation errors public void error(SAXParseException e)throws SAXParseException { System.out.println("Error at " +e.getLineNumber() + " line."); System.out.println(e.getMessage()); System.exit(0); } //Show warnings public void warning(SAXParseException err)throws SAXParseException{ System.out.println(err.getMessage());
System.exit(0); } }); Document xmlDocument = builder.parse(new FileInputStream("Sample.xml")); DOMSource source = new DOMSource(xmlDocument); StreamResult result = new StreamResult(System.out); TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "Employee.dtd"); transformer.transform(source, result);
SAX Parser
package com.eMeter.xml.sax; import import import import java.io.BufferedReader; java.io.File; java.io.IOException; java.io.InputStreamReader;
import org.xml.sax.SAXException; import org.xml.sax.XMLReader; import org.xml.sax.helpers.XMLReaderFactory; public class SAXParserCheck{ public static void main(String[] args) throws IOException{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter XML file name:"); String xmlFile = bf.readLine(); new SAXParserCheck(xmlFile); } public SAXParserCheck(String str){ try{ File file = new File(str); if (file.exists()){ XMLReader reader = XMLReaderFactory.createXMLReader(); reader.parse(str); System.out.println(str + " is well-formed!"); } else{ System.out.println("File not found: " + str); }
} catch (SAXException sax){ System.out.println(str + " isn't well-formed"); } catch (IOException io){ System.out.println(io.getMessage()); } }
package com.eMeter.xml.sax; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class XMLElements { public static void main(String[] args) { try { SAXParserFactory parserFact = SAXParserFactory.newInstance(); SAXParser parser = parserFact.newSAXParser(); System.out.println("XML Elements: "); DefaultHandler handler = new DefaultHandler() { public void startElement(String uri, String lName, String ele, Attributes attributes) throws SAXException { //print elements of xml System.out.println(ele); } }; parser.parse(args[0], handler); } catch (Exception e) { e.printStackTrace(); } } }
import java.io.InputStreamReader; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class EmployeeDetails{ public static void main(String[] args) throws IOException{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter XML file name:"); String xmlFile = bf.readLine(); new EmployeeDetails(xmlFile); } public EmployeeDetails(String str){ try{ File file = new File(str); if (file.exists()){ SAXParserFactory parserFact = SAXParserFactory.newInstance(); SAXParser parser = parserFact.newSAXParser(); System.out.println("XML Data: "); DefaultHandler dHandler = new DefaultHandler(){ boolean id; boolean name; boolean mail; public void startElement(String uri, String localName, String element_name, Attributes attributes)throws SAXException{ if (element_name.equals("Emp_Id")){ id = true; } if (element_name.equals("Emp_Name")){ name = true; } if (element_name.equals("Emp_E-mail")){ mail = true; } } public void characters(char[] ch, int start, int len) throws SAXException{ String str = new String (ch, start, len); if (id){ System.out.println("Emp_Id: "+str); id = false; } if (name){ System.out.println("Name: "+str); name = false; } if (mail){ System.out.println("E-mail: "+str); mail = false; } } };
XML Count Elements package com.eMeter.xml.sax; import import import import java.io.BufferedReader; java.io.File; java.io.IOException; java.io.InputStreamReader;
import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SAXElementCount { int startTag = 0; public static String ele; public static void main(String args[]) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter XML file name:"); String xmlFile = bf.readLine(); File file = new File(xmlFile); if (file.exists()) { System.out.print("Enter XML tag name:"); ele = bf.readLine(); new SAXElementCount(xmlFile); } else { System.out.println("File not found!"); } } public SAXElementCount(String str) { try { SAXParserFactory parserFact = SAXParserFactory.newInstance(); SAXParser parser = parserFact.newSAXParser(); DefaultHandler dHandler = new DefaultHandler() { public void startElement(String uri, String name,
package com.eMeter.xml.sax; import import import import org.xml.sax.*; org.xml.sax.helpers.*; javax.xml.parsers.*; java.io.*;
public class LocateError{ public static void main(String[] args) throws IOException{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter XML file name:"); String xmlFile = bf.readLine(); new LocateError(xmlFile); } public LocateError(String str){ try{ File file = new File(str); if (file.exists()){ XMLReader reader = XMLReaderFactory.createXMLReader(); reader.parse(str); System.out.println(str + " is well-formed!"); } else{ System.out.println("File not found: " + str); } } catch (SAXParseException sax){ System.out.println(str + " isn't well-formed"); int line = sax.getLineNumber(); int col = sax.getColumnNumber(); System.out.println("Error is at line number "+ line + "and Column position "+ col); } catch (SAXException sax){} catch (IOException io){
System.out.println(io.getMessage()); } } }
package com.eMeter.xml.sax; import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import import import import org.xml.sax.Attributes; org.xml.sax.SAXException; org.xml.sax.SAXParseException; org.xml.sax.helpers.DefaultHandler;
public class ReadAttributes { public static void main(String[] args) { try { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter a xml file name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile); if (file.exists()){ //SAX-implementation: SAXParserFactory factory = SAXParserFactory.newInstance(); // Create SAX-parser SAXParser parser = factory.newSAXParser(); System.out.println("Name:\t" + "Value:"); //Define a handler SaxHandler handler = new SaxHandler(); // Parse the xml document parser.parse(xmlFile, handler); } else{ System.out.println("File not found!"); } } catch (Exception e) { e.printStackTrace(); } } private static class SaxHandler extends DefaultHandler { public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXParseException,SAXException { int length = attrs.getLength(); //Each attribute for (int i=0; i<length; i++) {
} }
// Get names and values to each attribute String name = attrs.getQName(i); System.out.print(name); String value = attrs.getValue(i); System.out.println("\t"+value); }
package com.eMeter.xml.sax; import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import import import import import org.xml.sax.Attributes; org.xml.sax.Locator; org.xml.sax.XMLReader; org.xml.sax.helpers.DefaultHandler; org.xml.sax.helpers.XMLReaderFactory;
public class WorkingSAXParserLocator extends DefaultHandler { private Locator locator; public static void main(String[] args) { try { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter xml file name: "); String xmlFile = bf.readLine(); File file = new File(xmlFile); if (file.exists()){ XMLReader parser = XMLReaderFactory.createXMLReader(); DefaultHandler handler = new WorkingSAXParserLocator(); parser.setContentHandler(handler); //parse xml file parser.parse(xmlFile); } else{ System.out.println("File not found!"); } } catch (Exception e) { System.err.println(e); } } public void setDocumentLocator(Locator locator) { this.locator = locator; } //All methods positions private void printLocation(String location) {
int line = locator.getLineNumber(); int column = locator.getColumnNumber(); System.out.println(location + " Line no: " + line + "\tColumn no: " + column); } //Document start public void startDocument() { printLocation("startDocument() method called at"); } //Document end public void endDocument() { printLocation("endDocument() method called at"); } //Element start public void startElement(String namespaceURI, String localName, String qualifiedName, Attributes atts) { printLocation("startElement() method called at "); } //Element end public void endElement(String namespaceURI, String localName, String qualifiedName) { printLocation("endElement() method called at \t"); } //characters public void characters(char[] text, int start, int length) { printLocation("characters() method called at \t"); } }