1. Sina
  2. برنامه‌نویسی و طراحی وب
  3. یکشنبه, 05 مرداد 1393
سلام.
من یه فایل xml دارم که می خوام اون و پارس کنم. فایل xml ام به صورت زیره:


<?xml version="1.0" encoding="utf-8"?>
<categories>
<category>
<id>length</id>
<name>طول</name>
</category>
<category>
<id>Power</id>
<name>توان</name>
</category>
</categories>



من این فایل و به این صورت پارس می کنم. ولی نمیشه.


import java.io.InputStream;
import java.util.ArrayList;
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 {

List<Category> categories;
private Category category;
private String text;
Context context;
int counter = 0;

public CategoryParser(){
categories = new ArrayList<Category>();
}

public List<Category> getCategories(){
return categories;
}
public List<Category> parser(InputStream inputStream){

XmlPullParserFactory xmlPullParserFactoryObject;
XmlPullParser xmlPullParserObject;

//---try...catch---
try {

xmlPullParserFactoryObject = XmlPullParserFactory.newInstance();
xmlPullParserObject = xmlPullParserFactoryObject.newPullParser();
inputStream = context.getApplicationContext().getAssets().open("categories");
xmlPullParserObject.setInput(inputStream, null);

//---while loop---
int eventType = xmlPullParserObject.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
counter++;
String tagName = xmlPullParserObject.getName();

//---switch---
switch (eventType) {

case XmlPullParser.START_TAG:
if (tagName.equalsIgnoreCase("category")) {
category = new Category();
}
break;

case XmlPullParser.TEXT:
text = xmlPullParserObject.getText();
break;
case XmlPullParser.END_TAG:
if (tagName.equalsIgnoreCase("category")) {
categories.add(category);
}else if (tagName.equalsIgnoreCase("name")) {
category.setName(text);
}else if (tagName.equalsIgnoreCase("id")) {
category.setId(text);
}
break;
default:
break;
}
eventType = xmlPullParserObject.next();
}//---End of while---
} catch (Exception e) {
e.printStackTrace();
}

return categories;
}

public int getCounter(){
return counter;
}
}



ممنون میشم اگر راهنماییم کنید.
ADEL بهترین پاسخ Pending Moderation
0
رای
پس‌گیری
به این 2 لینک سر بزن شاید بتونه بهت کمک کنه:

http://zurl.ir/752679

http://zurl.ir/732829
  • صفحه :
  • 1


هنوز پاسخی به این پست ارسال نشده است.
البته از آنجایی که هنوز در سایت لاگین نکرده‌اید، اجازه‌ی پاسخ دادن به این پست را ندارید.

ورود / ثبت‌نام

 

کاربران فعال این ماه

AMIR
Super User
مسعود یوسف‌نژاد
نازنین امامی
علی مردانی