import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.io.*,
import java.util.HashMap;
import javax.xml.parsers.*;
public class XMLParse extends DefaultHandler
{
private HashMap props;
public XMLParse() {
this.props = new HashMap();
}
public void characters(char[] ch, int start, int length) throws SAXException {
super.characters(ch, start, length);
}
public void endDocument() throws SAXException {
super.endDocument();
}
public void endElement(String uri, String localName, String qName) throws SAXException {
super.endElement(uri, localName, qName);
}
public void startDocument() throws SAXException {
super.startDocument();
}
private String hash_key;
private String hash_value;
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
super.startElement(uri, localName, qName, attributes);
hash_key = null;
hash_value = null;
if (qName.equalsIgnoreCase("entry")) {
for (int i = 0; i < attributes.getLength(); i++) {
String key_name = attributes.getQName(i);
if (key_name.equalsIgnoreCase("name")) {
hash_key = attributes.getValue(i);
}
if (key_name.equalsIgnoreCase("path")) {
hash_value = attributes.getValue(i);
}
}
props.put(hash_key, hash_value);
}
}
public HashMap getProps() {
return this.props;
}
public static void main (String[] args){
String xmlPath="yourxmlfilepath";
try{
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
XMLParse handler = new XMLParse();
/* it cannot be used in "static" main. alternatively, you can use new File.
InputStream configFileStream = this.getClass().getClassLoader().getResourceAsStream("/Resources/XML/filePath.xml" );
parser.parse(configFileStream, handler);*/
Parser.parse(new File(xmlPath),handler);
HashMap prop = handler.getProps();
System.out.print(""+prop.get("home"));
}
catch(Exception e){}
}
}