sina4everafter
چهارشنبه 08 مرداد 1393, 19:31 عصر
سلام. اگر امکانش هست این کد و برای من توضیح دهید.
این کد برای پارس کردن یه فایل xml هست.
import java.io.InputStream;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import android.content.Context;
import com.asr24.cando.Category.Category;
public class CategoryParser {
static List<Category> categories;
private static Category category;
private static String currentText;
public static List<Category> parse(Context context) {
XmlPullParserFactory xmlPullParserFactoryObject;
XmlPullParser xmlPullParserObject;
// ---try...catch---
try {
xmlPullParserFactoryObject = XmlPullParserFactory.newInstance();
xmlPullParserObject = xmlPullParserFactoryObject.newPullParser();
InputStream inputStream = context.getApplicationContext()
.getAssets().open("categories.xml");
xmlPullParserObject.setInput(inputStream, null);
// ---while loop---
int eventType = xmlPullParserObject.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
String tagNAme = xmlPullParserObject.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
if (tagNAme.equalsIgnoreCase("category")) {
category = new Category();
}
break;
case XmlPullParser.TEXT:
currentText = xmlPullParserObject.getText();
break;
case XmlPullParser.END_TAG:
if (tagNAme.equalsIgnoreCase("categories")) {
categories.add(category);
} else if (tagNAme.equalsIgnoreCase("name")) {
category.setName(currentText);
} else if (tagNAme.equalsIgnoreCase("id")) {
category.setId(currentText);
}
break;
default:
break;
}
xmlPullParserObject.next();
}// ---End of while---
} catch (Exception e) {
e.printStackTrace();
}
return categories;
}
}
مشکل من داخل بلاک try است.
ممنون.
این کد برای پارس کردن یه فایل xml هست.
import java.io.InputStream;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import android.content.Context;
import com.asr24.cando.Category.Category;
public class CategoryParser {
static List<Category> categories;
private static Category category;
private static String currentText;
public static List<Category> parse(Context context) {
XmlPullParserFactory xmlPullParserFactoryObject;
XmlPullParser xmlPullParserObject;
// ---try...catch---
try {
xmlPullParserFactoryObject = XmlPullParserFactory.newInstance();
xmlPullParserObject = xmlPullParserFactoryObject.newPullParser();
InputStream inputStream = context.getApplicationContext()
.getAssets().open("categories.xml");
xmlPullParserObject.setInput(inputStream, null);
// ---while loop---
int eventType = xmlPullParserObject.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
String tagNAme = xmlPullParserObject.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
if (tagNAme.equalsIgnoreCase("category")) {
category = new Category();
}
break;
case XmlPullParser.TEXT:
currentText = xmlPullParserObject.getText();
break;
case XmlPullParser.END_TAG:
if (tagNAme.equalsIgnoreCase("categories")) {
categories.add(category);
} else if (tagNAme.equalsIgnoreCase("name")) {
category.setName(currentText);
} else if (tagNAme.equalsIgnoreCase("id")) {
category.setId(currentText);
}
break;
default:
break;
}
xmlPullParserObject.next();
}// ---End of while---
} catch (Exception e) {
e.printStackTrace();
}
return categories;
}
}
مشکل من داخل بلاک try است.
ممنون.