Xml not parsing String as input with sax

Shane

New Member
I have a string input from which I need to extract simple information, here is the sample xml (from mkyong):\[code\]<?xml version="1.0"?><company> <staff> <firstname>yong</firstname> <lastname>mook kim</lastname> <nickname>mkyong</nickname> <salary>100000</salary> </staff> <staff> <firstname>low</firstname> <lastname>yin fong</lastname> <nickname>fong fong</nickname> <salary>200000</salary> </staff></company>\[/code\]How I parse it within my code (I have a field \[code\]String name\[/code\] in my class) :\[code\]public String getNameFromXml(String xml) { try { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); DefaultHandler handler = new DefaultHandler() { boolean firstName = false; public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if (qName.equalsIgnoreCase("firstname")) { firstName = true; } } public void characters(char ch[], int start, int length) throws SAXException { if (firstName) { name = new String(ch, start, length); System.out.println("First name is : " + name); firstName = false; } } }; saxParser.parse(xml.toString(), handler); } catch (Exception e) { e.printStackTrace(); } return name; }\[/code\]I'm getting a \[code\]java.io.FileNotFoundException\[/code\] and I see that it's trying to find a file \[code\]myprojectpath + the entireStringXML\[/code\]What am I doing wrong?Addon :Here is my main method :\[code\]public static void main(String[] args) { Text tst = new Text("<?xml version=\"1.0\"?><company> <staff> <firstname>yong</firstname> <lastname>mook kim</lastname> <nickname>mkyong</nickname> <salary>100000</salary> </staff> <staff> <firstname>low</firstname> <lastname>yin fong</lastname> <nickname>fong fong</nickname> <salary>200000</salary> </staff></company>"); NameFilter cc = new NameFilter(); String result = cc.getNameFromXml(tst); System.out.println(result); }\[/code\]
 
Back
Top