みんな以下は、私が解析しようとしているxmlです
<?xml version="1.0" encoding="UTF-8"?><Categories><category name="Banquet & Marriage Hall" id="1" image=""/><category name="Crematorium, Burial Ground" id="2" image=""/><category name="Educational Institution" id="3" image=""/><category name="Embassies & Consulates" id="4" image=""/><category name="Fire Station" id="5" image=""/><category name="Government Office" id="6" image=""/></Categories>
以下は、私が使用しているパーサーのコードです
public byte parse(){
SAXParserFactory spf = null;
SAXParser sp = null;
InputStream inputStream = null;
try {
inputStream = new ByteArrayInputStream(data.getBytes());
spf = SAXParserFactory.newInstance();
if (spf != null) {
sp = spf.newSAXParser();
**sp.parse(inputStream, this);**
}
}
/*
* Exceptions need to be handled MalformedURLException
* ParserConfigurationException IOException SAXException
*/
catch (Exception e) {
System.out.println("Exception: " + e);
e.printStackTrace();
} finally {
try {
if (inputStream != null)
inputStream.close();
} catch (Exception e) {
}
}
if (categorieslist != null && categorieslist.size() > 0) {
// Log.d("Array List Size",""+tipsList.get(4).getTitle());
return 1;
} else {
return 0;
}
}
public ArrayList<Categories> getParserCategoriesList(){
return categorieslist;
}
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
if(localName.equalsIgnoreCase("Categories")){
if(localName.equalsIgnoreCase("category")){
categories = new Categories();
categorieslist.add(categories);
categories.setId(attributes.getValue("id"));
Log.d("ID",attributes.getValue("id"));
categories.setName(attributes.getValue("name"));
Log.d("NAME",attributes.getValue("name"));
/*categories.setImage(attributes.getValue("image"));
Log.d("image",attributes.getValue("image"));*/
}
}
sp.parse() は、expatParser Exception を提供しているコードです。以前の 5 つの xml 解析で同じロジックを使用していましたが、このエラーは発生しません。私は何が間違っているのですか、それともxmlが間違っているのですか??