الرئيسية معهد ارابروف البورتال التسجيل الاتصال بنا


العودة   ARAPROF.COM - ارابروف لتطوير المواقع > سكربتات إدارة المحتوى ولغات البرمجة CMS sections & programming Languges > :: لغـــاتـ البـــرمجـــة ::

Asp.net + xml, درس مبسط

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
رقم المشاركة : ( 1 (permalink) )
دكتور كمال محمد محمد غير متواجد حالياً
 
:: عضو مشارك ::
الأوسمـة
بيانات الإتصال
آخر المواضيع
Jordan
 
رقم العضوية : 354
تاريخ التسجيل : Aug 2009
الدولة : Jordan
الجنس :  Male
عدد المشاركات : 1 [+]
آخر تواجد : 08-04-2009 [+]
عدد النقاط : 10
Thumbs up Asp.net + xml, درس مبسط

كُتب : [ 08-04-2009 - 07:01 PM ]

بسم الله الرحمن الرحيم

موضوع جديد و بداية مهمة لطريقة تعامل مع البيانات بشكل جديد و ضروري .. حقيقة من يقدر ضرورة "الملح للطعام" فقط من يقدر أهمية ال XML في بيئة الدوت نت .. سأتناول في هذا المقال المبسط جدا "الملح " كمقدمة لتطبيقات ترتكز على ال XML بشكل مباشر من حيث قراءة و كتابة البيانات من و إلى ملف XML ..
نبدأ الان في طريقة القراءة ..
كلنا نعرف انه من المهم ان نقوم بإضافة Namespace الخاص بال XML و هو



كود:


كود:
// C#


using System.Xml طبعا الان يمكنناالتعامل مع مكتبة ال XML و التي تتيح لنا مجموعة من الكلاسات التي تساعدنا على أداء الواظئف الحيوية بتلك اللغة ..
سأكتب أولا كود القراءة ومن ثم سأشرح ما كتبته ..لكن قبل الكود اسمحولي أن أدرج محتوى ملف XML قمت بكتابته من أجل استخدامه في تطبيقنا هذا ..



كود:

كود:
// GuestBook.xml




Mohd. Khalil
Hi..It is a test pageGood ..
mohd_kh_80@hotmail.com


Mohd. Abdulmajeed
Hi Mohammed ..::Good ..
albayed@hotmail.com
[/CODE]


هذا كان محتوى الملف الذي سنتعامل معه و طبعا يمكنك ادراج ملف XML مباشرة من ال VS.NET من خلال إضافة Add new item و ستظهر عدة خيارات نختار منها XML file
او من خلال النوت باد مباشرة و نحفظ الملف في مجلد التطبيق ..
الان هذا هو كود القراءة ..



كود:

كود:
private void Page_Load(object sender, System.EventArgs e)
{
1: XmlTextReader reader=new XmlTextReader(Request.MapPath("guestBook.xml"));
2: while(reader.Read()){
3: Label1.Text+= reader.Value + "";} 
} 


كما نرى في السطر الأول قمنا بتعريف ال reader و هو من نوع XmlTextReader و طبعا هذا الكلاس مشتق من ال Namespace الذي ذكرته بالأعلى .. و قمنا بإسناد مسار الملف له و طبعا ال Request.MapPath تعيد لنا المسار ال Virtual Path الذي نحن به و مثلا لو كان التطبيق على القرص C في مجلد wwwroot التابع للمجلد inetpub بداخل مجلد application فسيكون الناتج كما يلي :
الان ال Reader أصبح يحتوي على البيانات و يبقى أننا كيف نعرضها .. طبعا انا ذكرت طرق العرض باستخدام ال DataList و ال repeater و ال DataGrid و ال DataTable و لكن هنا
اكتفيت بأبسط الطرق و هي إسناد القيمة ل web control من نوع Label و اسميته Label1 ..
توضيح فقط لمبرمجين الفي بي ..




كود:

كود:
//C#
Label1.Text+="text"; == Label1.Text=Label1.Text + "text";
// VB.NET
Label1.Text=Label1.Text + "text" الان نأتي لدورالكتابة للملف .. سأبدا أولا بكتابة الكود ثم أشرح ما هو مكتوب .. try { 1: XmlTextWriter writer=new XmlTextWriter(Request.MapPath("guestBook.xml")); 2: writer.Formatting=Formatting.Indented; 3: writer.WriteStartDocument(); 4: writer.WriteStartElement("name",""); 5: writer.WriteString(strName.Text); 6: writer.WriteEndElement(); 7: writer.WriteStartDocument(); 8: writer.WriteStartElement("body",""); 9: writer.WriteString(strBody.Text); 10: writer.WriteEndElement(); 11: writer.WriteStartDocument(); 12: writer.WriteStartElement("email",""); 13: writer.WriteString(strEmail.Text); 14: writer.WriteEndElement(); 15: writer.WriteEndDocument(); 16: writer.Close(); } catch { Response.Write(ex.Messege); }


بداية قمت باستخدام try و catch خلال الكود و هي تقوم بتتبع الأخطاء و توقيف عملية التنفيذ للكود و إعادة الخطأ في اخر سطر من خلال عرض ال ex.Messege و ان شاء الله في موضوع لاحق سأتعرض لل try-catch-expiction و طرق استخدماها ..
عموما ما يهمنا الان هو الجزء الخاص بال XML ..
في السطر الأول عرفنا ال writer من نوع xmlTextWriter و أسندنا إليه مسار الملف الذي سنكتب إليه ثم في السطر الثاني حددنا طريقة التنسيق للبيانات في الملف ..في لسطر الثالث قمنا بفتح الملف و في الرابع قمنا بعمل Node جديدة و انشأنا عنصر للاسم name
من خلال طريقة ال writeStartDocument ثم في السطر الخامس قمنا بتحديد قيمة لعنصر الخاص بالاسم حسب القيم المستقبلة من ال strText.Text و هي أصلا عبارة عن حقل نصي أدرجناه في التطبيق يأخذ اسم strName و طبعا هناك للايميل و تعليق ..في السطر السادس أغلقنا العنصر من خلال writeEndElement
و هكذا حتى نسجل الايميل و التوقيع ثم نغلق الملف بالأسفل في السطر 15 .. في السطر 16 انهينا الكائن writer ..
هذا نكون انتهينا من هذا الدرس و ان سمح الوقت سنقوم بعمل تطبيق لسجل الزوار ان شاء الله قريبا لكن أود فعلا أن أركز خاصة لمبرمجي ال ASP ان الجانب النظري و الفهم الصحيح للكائنات و عينات الفضاء و كيفية التعامل مع بيئة الدوت نت هي من أهم العوامل
في التقدم في هذا العالم الرحب ..

اخوكم
دكتور/ كمال محمد محمد


دكتوراة فى علوم البرمجيات من جامعة حسين بن طلال بمعان بالاردن

مصرى اردنى الجنسية صاحب شركات برمجة واستضافة فى مصر والاردن والسعودية

دكتور/ كمال محمد محمد
دكتوراة فى علوم البرمجيات من جامعة حسين بن طلال بالاردن
صاحب مجموعة شركات opreator للبرمجيات واستضافة السيرفرات




رد مع اقتباس
!محترف! غير متواجد حالياً
 رقم المشاركة : ( 2 (permalink) )
المدير العام
رقم العضوية : 2
تاريخ التسجيل : Jan 2009
الدولة : Saudi Arabia
الجنس :  Male
عدد المشاركات : 38 [+]
آخر تواجد : 10-22-2009 [+]
عدد النقاط : 10
الأوسمـة
بيانات الإتصال
آخر المواضيع
Saudi Arabia
افتراضي

كُتب : [ 08-05-2009 - 03:07 PM ]

شكرا على طرح الموضوع

ونتمنى منك المشاركة اكثر في المنتدى حتى يستفيد الجميع من خبرتك يا دكتور

تحياتي

رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
شرح مبسط وسريع لعمل قطرة ماء تسقط في اناء waves :: الفـــــلاش والســـويـــــشـ :: 0 05-26-2009 12:34 AM


الساعة الآن 09:44 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd
:: جميـــع الحقـــوق محفـــــوظــــة لدى ARAPROF.COM @ 2008 ::

SEO by vBSEO 3.3.0