You are using SAXparser to parse the XML-String.
The characters() method can be called several times when reading only one XML element. This happens when it finds something like <desc>blabla bla & # 39; bla bla la.</desc> <desc>blabla bla & # 39; bla bla la.</desc> .
The solution is to use a StringBuilder and add the read characters to the characters() method, and then reset t22> in the endElement() method:
private class Handler extends DefaultHandler{ private StringBuilder temp_val; public Handler(){ this.temp_val = new StringBuilder(); } public void characters(char[] ch, int start, int length){ temp_val.append(ch, start, length); } public void endElement(String uri, String localName, String qName){ System.out.println("Output: "+temp_val.toString());
The above code works for me, given this XML file:
<?xml version="1.0" encoding="iso-8859-1" ?> <test>This is some example-text.</test>
Output:
Exit: this is a few example text.
source share