2. Outlines
مقدمة .
؟ XML ما هي
XML Vs HTML
XML بنية ملف ال
XML المكونات الأساسية لملف
XML قواعد كتابة ملف
XML معالجة
أمثلة .
05 2 تشرين الثاني، 14
3. مقدمة
تقدم طريقة تخزين بسيطة وبنيوية لتخزين وتبادل المعطيات من
أجل استخدامها في البيئة الموزعة
Web Services تسُتخدم في خدمات الويب
ADO.NET تستخدم أيضا مع قواعد البيانات باستخدام
Documentation التوثيق التلقائي
للمشروع ) Configuration ملفات التكوين)الإعدادات
05 3 تشرين الثاني، 14
4. ؟ XML ما هي
لتخزين البيانات على )Format( هي عبارة عن طريقة أو هيئة
يكمن في بساطتها XML هيئة نصية بسيطة وسنرى أن سر قوة
وهرمية بنائها
و تتميز عن غيرها من وسائل تخزين البيانات بأنها :
تعمل على أي نظام تشغيل )مستقلة عن أي نظام تشغيل( .
سرعة و سهولة في النقل على شبكة الإنترنت .
تفهمها متصفحات الإنترنت .
بنيتها الشجرية .
05 4 تشرين الثاني، 14
5. XML Vs HTML
. HTML معظمنا يعرف
تصف تنسيق المعطيات فقط وليس ما تمثله المعطيات HTML
<h1> Learn C#</h1>
<h2> Learn JAVA </h2>
لنفرض أن هذه المعطيات تمثل كتاب لكن لا يوجد أي شيء في العلامات يدل على أنها كذلك!
ثابتة . HTML الموجودة في Tags ال
<auther> mohammad </auther>
<title> how to program</title>
هنا تصف ماهية المعلومات وليس مجرد كيفية إظهارها .يعني ذلك أنه من السهل مثلاً Tags العلامات
لعرض المؤلفين ضمن مجموعة كتب XML البحث ضمن
05 5 تشرين الثاني، 14
6. XML بنية ملف ال
tags فهي تعتمد مبدأ الوسوم HTML في الشكل الخارجي شبيهة بلغة
لتوصيف البيانات .
على أنها اسم نكتب Nizar فلو أردنا تخزين كلمة
<name> Nizar </name>
و قمنا بتخزين “ Nizar ” بهذه الطريقة سنخزن البيانات المراد تخزينها
. “name” وصف لها أيضا
أخرى tag ضمن tag ببنيتها الشجرية أي أنه يمكن وضع XML تمتاز الـ
بشكل شجري
05 6 تشرين الثاني، 14
7. XML بنية ملف ال
<Student>
<name>
<FirstName> mohamad </FirstName>
<LastName> Nizar </LastName>
</name>
<year> 23 </year>
</Student>
Student
name year
FirstName LastName
05 7 تشرين الثاني، 14
8. XML المكونات الأساسية لملف
يمثل العنصر الأساسي لتخزين البيانات و هو المكون المحاط : Elements •
. tags بـ
<name> mohammad</name>
، tag توضع ضمن element و هي صفات خاصة بالـ : Attributes •
لها اسم و قيمة و يجب أن تحاط القيمة بإشارات اقتباس مفردة أو مزدوجة ، كما
في الشكل التالي :
<Student id=“1” >
05 8 تشرين الثاني، 14
9. XML المكونات الأساسية لملف
و هو وسم مخصص يوضع في بداية الملف ليصف معلومات خاصة عنه ، له الشكل : Declaration •
التالي :
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
حيث :
المتبعة . XML لدلالة على إصدارة الـ :version
لدلالة على نوع الترميز المستخدم في كتابة الملف . :Encoding
لدلالة على أن المستند قائم بحد ذاته و لا يحتاج أي مستندات أخرى : Standalone
<!-- Comment --> تعليقات أيضا و يجب أن تحاط بـ XML ممكن أن يحوي ملف الـ :Comments
05 9 تشرين الثاني، 14
10. XML قواعد كتابة ملف
فارغ و لا يحوي tag لكن في حال كان الـ ، <x> … </x> أخرى لإغلاقه tag بداية tag لكل
فقط . <name/> أي بيانات يمكن أن ييأخذ الشكل
أن تتداخل كأن نكتب : tags لا يمكن للـ
<FirstName>
<LastName>
</FirstName>
</LastName>
خطأ
يجب أن tags واحد فقط ، أي أنه يجب أن كل الـ Root على عنصر XML يحتوي ملف الـ
. Root واحدة هي الـ tag تكون موجودة في النهاية ضمن
حساسة لحالة الأحرف .
قيم الصفات توضع بين علامتي إقتباس ” “.
تسري على أسماء العناصر الشروط التي تسري على المتحولات العادية في أي لغة برمجة ،
يجب ألا تبدأ برقم و ألا تحوي فراغات و لا رموز إلا الرمز ”_“
05 10 تشرين الثاني، 14
11. XML معالجة
. XML يمكن لأي متصفح أن يقوم بتفسير مستندات
عند استخدام مفسر : XML يوجد طريقتان شائعتان للتعامل مع مستندات
يقرأ المفسر كامل المستند ويتم تحميله للذاكرة . : DOM
System.Xml.XmlDocument تتم عن طريق الصنف
من سيئاتها : حجم الذاكرة متناسب طرداً مع حجم الملف , بعض المفسرات لا تستطيع
تفسير المستندات الكبيرة الحجم .
قد لا نحتاج للبينة كاملة في الذاكرة في لحظة واحدة .
إلية تفسير أمامية وللقراءة فقط , قراءة المستند عنصراً تلو الأخر .
و System.Xml.XmlTextReader : يمكن العمل مع هذا النموذج من خلال الصنفين
System.Xml.XmlTextWrite
05 11 تشرين الثاني، 14
12. XmlTextReader الصنف
xml هو عبارة عن قارئ يؤمن وصولاً سريع ا لًلأمام فقط لمعطيات
عنصراً تلو الأخر وذلك عوضا عن تحميل المستند xml يقرأ مستند
.DOM بأكمله كما في
خصائص العقدة الحالية XmlTextReader تعكس خصائص كائن
لا يمكن العودة إلى عقدة بعد قراءتها إلا بالرجوع إلى بداية المستند
نحتاج إلى تخزين عقدة واحدة في الذاكرة بالتالي تخفيف استهلاك
الذاكرة .
05 12 تشرين الثاني، 14
14. XmlTextReader الصنف
using System.Xml;
static void Main(string[] args)
{
XmlTextReader xtr = new XmlTextReader(@"D:booklist.xml");
//Read the Next Node from Stream and Retrurn bool if the Stream is ended
while (xtr.Read())
// if The Current Node is Element
if (xtr.NodeType == XmlNodeType.Element)
Console.WriteLine("Element: " + xtr.Name);
}
05 14 تشرين الثاني، 14
18. :XML كائن في مستند )Serialize( سَلسلة
لسلسة كائن في مستند System.Xml.Serialization.XmlSerializer يستخدم الصنف
. XML
يمكن لنا أيضا بأن نتحكم في عملية سلسلة الكائنات في الحالة الافتراضية يضع كافة
<tag> </tag> على شكل أوسمة DataMember ال
[XmlIgnore] عن طريق الصفة ) Class يمكن أن لا نسمح بسلسلة خاصية )متحول ضمن
int id;
[XmlAttribute()]
public int ID
{
get { return id; }
set { id = value;}
}
05 18 تشرين الثاني، 14