رفتن به مطلب

آموزش تجزیه و نمایش اطلاعات فایل XML در B4A


Kazem Forghani

ارسال‌های توصیه شده

سلام

در این آموزش می خوایم یک فایل xml رو تجزیه کنیم و اطلاعات اون رو در برنامه نمایش بدیم. ما در این آموزش به کتابخانه XMLSax نیاز داریم.

ابتدا یک فایل xml ایجاد کنید. به عنوان مثال با محتویات زیر:

<?xml version="1.0" encoding="utf-8"?>
<base>
     <title>مرکز پاسخگویی به سوالات برنامه نویسی</title>
</base>

و حالا اون رو از قسمت Files پروژه اضافه کنید.

 

1- یک متغیر از نوع SaxParser تعریف کنید:

Dim parser As SaxParser

2- و اون رو Initialize کنید:

parser.Initialize

3- برای اینکه بتونید فایل xml رو بخونید باید از متغیری از نوع InputStream استفاده کنید. خوب اون رو تعریف می کنیم و مقدار دهی می کنیم:

Dim read As InputStream
read = File.OpenInput(File.DirAssets, "filename.xml")

آرگومان دوم: باید نام فایل رو وارد کنید.

 

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

parser.Parse(read, "Parser")

آرگومان اول: نام متغیری که فایل رو با اون خوندیم.

آرگومان دوم: یک EventName رو بهش بدید.

 

5- و با دستور زیر از InputStream خارج بشید:

read.Close

6- تا اینجا ما اطلاعات رو تجزیه کردیم ولی نمی تونم از اون ها استفاده کنیم. برای استفاده باید از سابی تحت عنوان Parser_EndElement استفاده کنیم:

Sub Parser_EndElement (Uri As String, Name As String, Text As StringBuilder)
    
End Sub

7- اگر توجه کرده باشید همین ساب دو آرگومان مهم داره. یکی Name و یکی Text. ما با این دو متغیر می تونیم مقادیر رو بگیریم. مثال زیر:

Sub Parser_EndElement (Uri As String, Name As String, Text As StringBuilder)
	If Name = "title" Then
		Msgbox(Text, "result")
	End If
End Sub

می بینید که ما با یک دستور شرطی گفتیم که اگر متغیر Name برابر با title بود بیاد و محتویات اون رو نشون بده. در واقع Name همون نام تگ هست و Text هم محتویات اون تگ هست.

به فایل xml دوباره یک نگاه بندازید بهتر متوجه می شید.

 

موفق باشید؛ اگر سوالی بود در خدمتم :)

اختصاصی از انجمن AnswerCenter

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 سال بعد...

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...