Android 显示时显示的数据/XML
我的项目下载了大量xml(作为文本)和图像,然后我解析xml并解释其中的数据。当我检查下载的一些xml时,其中一些被截断,只显示了其中的一部分。它的开头部分不见了。我使用:Android 显示时显示的数据/XML,android,xml,saxparser,Android,Xml,Saxparser,我的项目下载了大量xml(作为文本)和图像,然后我解析xml并解释其中的数据。当我检查下载的一些xml时,其中一些被截断,只显示了其中的一部分。它的开头部分不见了。我使用: InputStream in; in = OpenHttpConnection(url); SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newSAXParser(); XMLReade
InputStream in;
in = OpenHttpConnection(url);
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
xr.setContentHandler(this);
xr.parse(new InputSource(in));
编辑:
@Override
public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) throws SAXException {
if (localName.equals("quiz") ) {
parsedQuizTitle = new QuizTitle();
in_quiztitle = true;
}
}
@Override
public void endElement(String namespaceURI, String localName, String qName)
throws SAXException {
if (localName.equals("category") || localName.equals("quiz") ) {
in_quiztitle = false;
quiztitleSet.add(parsedQuizTitle);
}
}
@Override
public void characters(char ch[], int start, int length) {
if (in_quiztitle) {
String quiz_item = new String(ch, start, length);
String[] quiz_item_parsed = null;
String expression = "\\|\\|";
quiz_item_parsed = quiz_item.split(expression);
if(quiz_item_parsed.length == 2) {
parsedQuizTitle.setQuizTitleName(quiz_item_parsed[1]);
parsedQuizTitle.setQuizTitleID(quiz_item_parsed[0]);
}
else {
//add to title
parsedQuizTitle.addtoQuizTitleName(quiz_item);
}
}
}
在处理程序代码的某个地方,可能有一个startElement方法、一个endElement方法和一个characters方法。发布代码后,我们更有可能发现问题。也许一些XML输入数据也会有所帮助。