В настоящее время я использую SAXParser с SAXParserFactory, и у меня возникла проблема с вырезанием строк при символах '&'. Например: «Нация, созданная нашим миром & все в ней» становится «все в ней».Проблема конкатенации SAXParser '&'
Очевидно, что я не хочу, чтобы это произошло. В xml-вводе символ правильно экранируется как &
. Как я могу это решить?
try{
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
/* Get the XMLReader of the SAXParser we created. */
XMLReader r = sp.getXMLReader();
//This handles the xml and populates the entries array
XMLHandler handler = new XMLHandler();
// register event handlers
r.setContentHandler(handler);
String url = "http://foobar.xml";
r.parse(url);
return handler.getEntries();
}
У меня есть это в моем классе DefaultHandler
....
public void characters(char ch[], int start, int length){
String value = new String(ch , start , length);
if(!value.trim().equals("")) {
if(currentElement.equalsIgnoreCase("TITLE")) {
tempEntry.setTitle(value);
}
....
свою ошибку, но это 'Nation создал наш мир & все в нем' в файле XML. Я попробую то, что вы предложили –
спасибо, это сработало –