I got an " & # 39; " in my XML file. (it is the char code for the quot in HTML)
EX :
< desc > blabla bla & # 39; bla bla la. < / desc>
When i parse it with String tmp = itemOfEvent.getFirstChild().getNodeValue()
it cut my text 开发者_开发技巧juste before the quot.
I got a crash with URL.encode(tmp, "UTF-8")
Better idea ?
You say that the text is HTML encoded so try this:
String fixedTmp = Html.fromHtml(tmp).toString();
The best solution i've found was to replace bad char
xmlString = xmlString.replaceAll(" & #39;", " \ ' ");
I assume you're parsing the XML file with a SAXParser? In this case, note that the 'characters()'-method can be called multiple times while parsing a single Element (as it does in your case). Try this:
private StringBuilder temp_val;
public void characters(char[] ch, int start, int length){
temp_val.append(ch, start, length);
}
精彩评论