目前我正使用SAXParser和SAXParserFactory进行处理,但遇到一个问题:在'&'符号处字符串被截断。例如:“Nation Created Our World & everything in it”变成了“everything in it”。
很显然,我不希望出现这种情况。在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);
}
....