PDA

View Full Version : ایجاد کلاس x و پارس کردن فایل xml و استفاده آن در کلاس y



sina4everafter
شنبه 04 مرداد 1393, 10:14 صبح
سلام دوستان. ممنون میشم اگر راهنماییم کنید.

من یه فایل ایکس ام ال دارم به صورت زیر:


<?xml version="1.0" encoding="utf-8"?>


<categories>

<category>
<id>length</id>
<name>طول</name>
</category>

<category>
<id>Power</id>
<name>توان</name>
</category>

<category>
<id>Energy</id>
<name>انرژی</name>
</category>

<category>
<id>Time</id>
<name>زمان</name>
</category>

<category>
<id>Temperature</id>
<name>درجه حرارت</name>
</category>

<category>
<id>Mass</id>
<name>جرم</name>
</category>

<category>
<id>Area</id>
<name>سطح</name>
</category>

<category>
<id>Angle</id>
<name>زاویه</name>
</category>

<category>
<id>Speed</id>
<name>سرعت</name>
</category>

<category>
<id>Volume</id>
<name>حجم</name>
</category>

<category>
<id>Pressure</id>
<name>فشار</name>
</category>
</categories>


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


import java.io.InputStream;
import java.util.Arrays;


import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;


import android.content.Context;


public class XmlPullParserCategory {

//---XmlPullParserFactory---
XmlPullParserFactory xmlPullParserFactoryObject;

//---Context---
Context contextObject;

//---Create Array---
String[] arrayCategory;

//---Initialize Values---
int counter = 0;

//---Constructor---
public XmlPullParserCategory(Category category){

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

//---Parsing XML---
xmlPullParserFactoryObject = XmlPullParserFactory.newInstance();
XmlPullParser xmlPullParserObject = xmlPullParserFactoryObject.newPullParser();

InputStream input_Stream = contextObject.getApplicationContext().getAssets(). open("categories.xml");
xmlPullParserObject.setInput(input_Stream, null);

//---while loop---
while (xmlPullParserObject.getEventType() != XmlPullParser.END_DOCUMENT){

//---if statement---
if (xmlPullParserObject.getEventType() == XmlPullParser.START_TAG &&
xmlPullParserObject.getName().equals("category")) {
arrayCategory[counter] = xmlPullParserObject.getName();
counter++;
}
xmlPullParserObject.next();
}

//---Sort Array---
Arrays.sort(arrayCategory);

} catch (Exception e) {
e.printStackTrace();
}
}

//---getAllCats Method---
public String[] getAllCats(){
return arrayCategory;
}
}


و یک کلاس دیگه ای دارم به نام Category که باید از این کلاسی که فایل xml و پارس کرده استفاده کنم.


public class Category {

// public Category(){

String[] categoryObjectArray = new XmlPullParserCategory(this).getAllCats();


// }
}


اما نمی دونم چه طوری؟
اگر درست توضیح ندارم، اطلاع بدین که بهتر توضیح بدم.ممنون.

sina4everafter
شنبه 04 مرداد 1393, 11:29 صبح
ممنون میشم اگر راهنماییم کنید.