در اين بخش مي‌توانيد در مباحث مربوط به برنامه نويسي تحت وب به بحث بپردازيد
Administrator

Administrator



نماد کاربر
پست ها

15486

تشکر کرده: 10219 مرتبه
تشکر شده: 3981 مرتبه
تاريخ عضويت

جمعه 7 بهمن 1384 19:51

آرشيو سپاس: 30251 مرتبه در 5981 پست

آموزش XML

توسط Mahdi1944 » جمعه 12 اسفند 1384 01:37

از dev.ir

XML چيست ؟

یکی از ابزاری است که این مدته به شدت وارد بورس شده و حیفه، که من حرفی از این مبحث مطرح نکنم.
XML یک سیستم ذخیره اطلاعات است که میتوان در زمینه های مختلف تعمیمش داد. حال من آموزش گوشه های از XML رو میخوام با یک مثال شروع کنم. شما فقط سعی کنید مکانیزم کاری و کاربرد XML رو درک کنید. درک مطالب و مباحث کمکه زیادی به شما در برنامه نویسی میکنه پس مثال زیر رو با دقت بخونید، اگه گوشه های از کد رو متوجه نشدید مهم نیست چون در درس های بعدی این Object ها و باقیه Object های مربوط به XML رو آموزش میدم.

من یک فایل در آدرس "C:\Data1.XML" دارم با محتوای زیر:




< ?xml version="1.0" ?>
< Person>
AraSoft< /Name >
18< /Age>
Male< /Sex>



حال لازمه که این اطلاعات که شامل اسم ، سن ، جنسیت من هست در برنامه استفاده کنیم.پس ابتدا Namespace مورد نظر " System.Xml " رو به برنامه اضافه کرده و Imports System.Xml ... استاد میکنید.
و در قسمت مورد نظر کد مربوط رو مینویسیم:




Dim Reader as XMLNodeReader
Dim DC as New XMLDocument
Dim NickName, Sex as String
Dim Age as Long

DC.load ("C:\Data1.Xml")
Reader = New XMLNodeReader (DC)
Do until Reader.EOF
Reader.Read
Select Case Reader.LocalName
Case "Name"
If Reader.IsStartElement then
Reader.MoveToElement
If Not Reader.Value.Trim = Nothing then
MSGbox (Reader.Value)
End IF
End If
Case "Age"
If Reader.IsStartElement then
Reader.MoveToElement
If Not Reader.Value.Trim = Nothing then
MSGbox (Reader.Value)
End IF
End If
Case "Sex"
If Reader.IsStartElement then
Reader.MoveToElement
If Not Reader.Value.Trim = Nothing then
MSGbox (Reader.Value)
End IF
End If
End Select
Loop


خوب ما یک XML داریم و یک کد که از این اطلاعات استفاده میکنه.شما کافیست از کد به این برسید که XML در چه حیطه ای است و کجا بدرد میخورد، به راحتی میتوانید تمام مباحث XML را به راحتی یاد بگیرید.فعلا این مثال رو داشته باشید تا من در دفعه بعد یک آموزش ساده و پایه ای از XML رو استاد کنم.فقط یادتون نره قدم به قدم پس تا بعد.
آخرين ويرايش توسط Mahdi1944 در يکشنبه 14 اسفند 1384 14:24, ويرايش شده 1 در کل.
زندگي صحنه يکتاي هنرمندي ماست     هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست     خرم آن نغمه که مردم بسپارند به ياد


 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد

Administrator

Administrator



نماد کاربر
پست ها

15486

تشکر کرده: 10219 مرتبه
تشکر شده: 3981 مرتبه
تاريخ عضويت

جمعه 7 بهمن 1384 19:51

آرشيو سپاس: 30251 مرتبه در 5981 پست

توسط Mahdi1944 » جمعه 12 اسفند 1384 01:38

آشنايي با XML قسمت دوم


اکثر افرادی که قصد یادگیری XML رو دارند، نمی تونند XML رو خوب بفهمند. شما سعی کنید XML رو یک سیستم ذخیره اطلاعات بدونید.بعدا با یادگیری قسمتهای بعدی XML با کاربردهای XML آشنا میشید و راحتتر میتونید به صورت حرفه ای از اون استفاده کنید.البته این یادآوری کنم که من فقط قصد آشنا سازی شما با XML رو دارم نه آموزش کامل XML.
XML برای خود یک دستوره نگارشی و املایی دارد. شما در حین یادگیری عبارتهای XML با اون آشنا میشید.
تگها:
شما با عبارتهای HTML یا همان TAG ها آشنا هستید < تگ> در XML از همان تگها استفاده میشود ولی نکته مهم اینجاست که XML به شدت به حروف کوچک و بزرگ حساسیت داره پس اگر شما تگ ابتدای خودتون رو به دین صورت نوشتید < TaG> باید تگ پاییانی هم بدین صورت بنویسید < /TaG>.

اعلان شروع فایل XML:
فایل XML با یک اعلان شروع میشه که باید در اولین خط باشه (کاملا اختیاری):

حتما به بزرگی و کوچکی حروف دقت کنید. تگ اعلان XML به صورت < ؟ و بعد کلمه XML و بعد از اون نوع version که تا کنون آخرین اون "1.0" بوده قرار میگیره و سپس تگ پایانی اون ؟ >.
نوشتن تگها:
تگها در حقیقت همان رکوردها هستند که فیلدهای متغییری میتوانند داشته باشند(البته اگر با Database آشنا باشید). شما اطلاعات خودتون رو با استفاده از تگها ذخیره میکنید مثلا برای ذخیره اسمتون: AraSoft< /Name >
برای ذخیره اطلاعات شما به دو تگ نیاز دارید یکی آغازی و دیگری پایانی این دو در حقیقت تشکیل یک تگ صحیح را میدهند. یک تگ آغازی به صورت اول > و بعد اسم مورد نظر و سپس < نوشته میشود. تگ پایانی تنها یک تفاوت کوچک دارد که آن در آولین بخش تگ است. تگ پایانی به صورت یک علامت / هم وجود دارد:



Begin: < Name >
End: < /Name >


برای نوشتن تگها باید به این توجه کنید که اسم تگ شروع (< Name>) و اسم تگ پایانی (< /Name>) نباید از نظر کوچکی و بزرگی فرق کند. و نکته مهم اینکه شما باید XML خود رو با یک تگ اصلی بپوشانید و بقیه تگها رو داخل اون قرار دهید مثل:




< ? Xml version="1.0" ?>
< Root>
< /Child1 >
< /Child2>

< / Root>


تداخل تگها:
اگر شما تگی رو شروع کردید و میخواهید تگی رو داخل اون قرار دهید شروع و پایان تگ باید در داخل تگ اصلی باشد مانند زیر:



درست:
< ? Xml version="1.0" ?>
< root>
< child1/>

:غلط
< ? Xml version="1.0" ? >
< root >
< child1 >

< /child1 > ß-----Error


تگ پوچ:
شاید در مرور Xml های که من نوشتم یه این تگ < Child1 /> رسیده و تعجب کنید که چرا من قانون نوشتن تگها رو نقض کردم و لی در حقیقت این خود یک دستور نگارشی است مبنی بر اینکه اگر تگی هیچ مقداری رو در بر نمیگیرد بهتر است به صورت < Name/> نوشته شود "شبیه به HTML" تا به راحتی برسی XML افزوده شود.
افزوردن ویژگی به تگ:
تگ ها قدرت داشتن ویژگی رو دارند (Attribute).




1.Home< /SectionOfSite>
2.Home< /SectionOfSite>


شما میتوانید برای مقدار هر تگ یک خاصیت یا ویژگی تعیین کنید. مثلا من در شماره 1 گفتم قسمت سایت=خانه و با زبان فارسی و در شماره 2 گفتم که قسمت سایت=خانه و به زبان انگلیسی.
زندگي صحنه يکتاي هنرمندي ماست     هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست     خرم آن نغمه که مردم بسپارند به ياد


 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد

Administrator

Administrator



نماد کاربر
پست ها

15486

تشکر کرده: 10219 مرتبه
تشکر شده: 3981 مرتبه
تاريخ عضويت

جمعه 7 بهمن 1384 19:51

آرشيو سپاس: 30251 مرتبه در 5981 پست

توسط Mahdi1944 » جمعه 12 اسفند 1384 01:39

آشنايي با XML قسمت سوم

یک حالت ساده از خواننده های فایلهای XML در .Net همین XMLTextReader است.
این راننده (Driver) فقط رو به جلو حرکت میکند وهرچی در سر راهش باشد در حافظه اش ذخیره میکند.و مهمترین قسمت اینکه از DTD و XMLSchema نیز پشتیبانی نمیکند.و این برای شروع کار ما که با این دو نوع آشنا نیستیم بسیار مناسب است.



Imports System.Xml

Dim Reader as XmlTextReader
Reader = New XmlTextReader("Data\Setting.Xml")'فایل مورد نظر
Do Until Reader.EOF'در صورت به اتمام رسیدن فایل حلقه متوقف میشود
Reader.Read()'خواندن تگ بعدی
MsgBox(">---")
MsgBox("Depth: " & Reader.Depth)
'مقدار فرو رفتگی یک تگ داخل تگهای بالای خودش
MsgBox("LocalName: " & Reader.LocalName)
'خواندن اسم تگ localName is Book
MsgBox("Attribute: " & Reader.ReadAttributeValue)
'مقدار خاصیت قرار داده شده
MsgBox("Value: " & Reader.Value)
'محتوای داخلی تگ
MsgBox("---<")
Loop


همینطور که میبینید بسیار ساده میشه از این Object استفاده کرد. شمامیتونید به راحتی فایل XML خود رو باز کرده و اون رو به ترتیب بخونید.

*همانطور که میبینید در قسمت خواصیت تگ اگر تگ خواصیتی رو نداشته باشه مقدار
برگشتی False میباشد.
*در قسمت Depth ؛ اگر تگی در داخل روت اصلی باشد مقدار 1 رو بر مگردونه و اگریک تگ در داخل این تگ باشه پس مقدار 2 رو بر میگردونه و اگر خود روت باشه
مسلماً مقدار صفر 0 را بر میگردونه.
*شما میتوانید با استفاده از LocalName یک فیلتر قرار دهید که هر LocalName که مقداری در بر نگیرد نمایش ندهد.

البته من فقط این Reader ها رو معرفی میکنم و اگر نکته مهمی وجود داشته باشد گفته میشود.پس اگر در این زمینه مشکلی بوجود اومد میتونید اونو مطرح کنید چون این مبحث خیلی وسیع هست و نمیشه به این راحتی با اون کنار اومد.
زندگي صحنه يکتاي هنرمندي ماست     هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست     خرم آن نغمه که مردم بسپارند به ياد


 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد

Administrator

Administrator



نماد کاربر
پست ها

15486

تشکر کرده: 10219 مرتبه
تشکر شده: 3981 مرتبه
تاريخ عضويت

جمعه 7 بهمن 1384 19:51

آرشيو سپاس: 30251 مرتبه در 5981 پست

توسط Mahdi1944 » يکشنبه 21 اسفند 1384 19:06

آشنايي با XML قسمت چهارم
در این قسمت به تعریف یک نوع دیگر از خواننده های XML میپردازیم که من بیشتر از این نوع استفاده میکنم بجز موارد خواص. البته این مبحث زیاد جای بحث نداره به همین دلیل بسیار مختصر به شرح اون میپردازم.

XMLNodeReader
همین طور که از اسمش معلومه برای برسی XML بر اساس گره ها (Node) طراحی شده. این Reader از DTD و XML Schema پشتیبانی نمیکند ولی تعریف های داخل DTD رو میشناسه.

خوب طبق معمول با یک مثال این Reader رو تعریف میکنیم.که من فکر میکنم هیچ آموزشی نمیتونه مانند مثال به یک نفر کمک کنه پس ما هم... :



Imports System.Xml

Dim Reader As XMLNodeReader
Dim DOC As New XmlDocument
DOC.Load("\Data\Setting.Xml")
Reader = New XMLNodeReader(DOC)
Do Until Reader.EOF
Reader.Read()
MsgBox("---")
MsgBox("Depth: " & Reader.Depth)
MsgBox("LocalName: " & Reader.LocalName)
MsgBox("Attribute: " & Reader.ReadAttributeValue)
MsgBox("Value: " & Reader.Value)
MsgBox("---")
Loop


همینطور که میبینید این Reader هم بسیار شبیه Reader قبلی است. ولی در Open کردن فایل کمی تفاوت دارد. مهمترین قسمت این قسمت طریقه بازشدن فایل بوسیله XMLNodeReader است چون بقیه قسمتهای NodeReader و TextReader فرق چندانی با هم ندارد. ولی یک Object اضافه بر سازمان در این قسمت برای باز کردن فایل استفاده کردم. این Object بسیار قدرتمند است و در آینده حتما بر روی اون بحث خواهم کرد. من به شما سفارش میکنم اگر از XML به صورت ابتدایی استفاده میکنید از همین Reader استفاده کنید چون بسیار سریع تر و دقیقتر ( نه از نظر من حتی از نظر Microsoft) از TextReader است. من برای مطرح کردن بقیه مسایل در XML باید به آموزش کوتاهی درباره DTD بپردازم پس تا یادداشت بعد.
زندگي صحنه يکتاي هنرمندي ماست     هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست     خرم آن نغمه که مردم بسپارند به ياد


 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد


 


  • موضوعات مشابه
    پاسخ ها
    بازديدها
    آخرين پست
  • آموزش PHP
    توسط Mahdi1944 » چهارشنبه 14 مرداد 1388 12:02
    8 پاسخ ها
    5492 بازديدها
    آخرين پست توسط tourkadeh نمایش آخرین ارسال
    سه شنبه 12 دی 1396 13:10
  • آموزش Asp.net
    توسط Farhad3614 » سه شنبه 18 بهمن 1384 13:57
    11 پاسخ ها
    8421 بازديدها
    آخرين پست توسط Zahra1365 نمایش آخرین ارسال
    جمعه 28 آبان 1389 21:51
  • آموزش HTML
    توسط Ali Singer » دوشنبه 15 اسفند 1384 21:46
    1 پاسخ ها
    2189 بازديدها
    آخرين پست توسط Mahdi1944 نمایش آخرین ارسال
    سه شنبه 8 فروردین 1385 03:51

چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: بدون كاربران آنلاين و 0 مهمان