PDA

View Full Version : Question about Android XMLPull Parser



sina4everafter
چهارشنبه 25 تیر 1393, 13:46 عصر
سلام دوستان. من شدیدا احتیاج دارم که یه فایل xml و پارس کنم.
خیلی مثال هم خوندم. مثل این مثال (http://wptrafficanalyzer.in/blog/android-xml-parsing-with-xmlpullparser-and-loading-to-listview-example/). ولی اصلا هیچی متوجه نمیشم.
میشه یه توضیح خیلی کوتاه و در مورد بدین. ممنون.

smemamian
چهارشنبه 25 تیر 1393, 14:20 عصر
سلام
عنوان رو فارسی تایپ کن دوست عزیز.

اول از هر چیزی شما نیاز دارید از ساختار یک فایل xml اطلاع داشته باشید.
یک فایل xml، متشکل شده از یک سری node. هر node نشانگر اطلاعات
خاصی است.
به طور مثال: در RSS ها node مخصوص برای نشان دادن مباحث یک سایت،
item هست که به عنوان یک node پدر شناخته می شود. این node متشکل
شده از node های دیگر که هرکدام از آنها بیانگر یک ویژگی هستند:

<item>
<title>عنوان شما در اینجا تایپ می شود</title>
<description>توضیحات شما در اینجا</description>
<link>لینک مطلب شما</link>

<category>دسته بندی</category>


<pubDate>25/04/93</pubDate>
</item>
همین طور که می بینید، مطلب در یک سایت به این صورت در RSS قرار می گیرد.

حالا شما در کدهای جاوایی که استفاده می کنید، بدین صورت تعریف می کنید:
هر مبحث از سایت من در RSS، با nodeی به اسم item شناخته می شود پس
تمامی itemهای RSS سایت من را جمع آوری کن(در اینجا یک مورد):

parser.require(XmlPullParser.START_TAG, ns, "item");

و سپس، هر item از این فایل xml فرزندانی (ویژگی هایی) دارد پس نیاز
دارم که مقدار این ویژگی ها را داشته باشم :

برای این مورد :

<title>عنوان شما در اینجا تایپ می شود</title>
این کد به طور مثال استفاده می شود:

private String readtitle(XmlPullParser parser)
throws IOException, XmlPullParserException {
parser.require(XmlPullParser.START_TAG, ns, "title");
String title= readText(parser);
return title;
}




مقدار داخل تگ title یعنی "عنوان شما در اینجا تایپ می شود" بازگشت داده می شود.