Когда вы нашли начальный тег, который вы ищете, «символы» вызываются один или несколько раз.Вы должны собирать данные, а не перезаписывать их.Измените
if (currentNode.equals("result")){
result = value;
return;
}
на
if (currentNode.equals("result")){
result += value;
return;
}
или используйте для этого StringBuilder.Кроме того, вы должны удалить это, кажется, перезаписать ваш результат String:
result = localName;
EDIT :
public class MyXmlContentHandler extends DefaultHandler {
private String result = "";
private String currentNode;
public String getFavicon() {
return result;
}
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
currentNode = localName;
}
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
currentNode = null;
}
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
String value = new String(ch, start, length);
if ("result".equals(currentNode)){
result += value;
}
}
}