SlideShare una empresa de Scribd logo
1 de 19
5- XML manipulation
Outlines 
مقدمة .  
؟ XML ما هي  
XML Vs HTML  
XML بنية ملف ال  
XML المكونات الأساسية لملف  
XML قواعد كتابة ملف  
XML معالجة  
أمثلة .  
05 2 تشرين الثاني، 14
مقدمة 
تقدم طريقة تخزين بسيطة وبنيوية لتخزين وتبادل المعطيات من  
أجل استخدامها في البيئة الموزعة 
Web Services تسُتخدم في خدمات الويب  
ADO.NET تستخدم أيضا مع قواعد البيانات باستخدام  
Documentation التوثيق التلقائي  
للمشروع ) Configuration ملفات التكوين)الإعدادات  
05 3 تشرين الثاني، 14
؟ XML ما هي 
لتخزين البيانات على )Format( هي عبارة عن طريقة أو هيئة  
يكمن في بساطتها XML هيئة نصية بسيطة وسنرى أن سر قوة 
وهرمية بنائها 
و تتميز عن غيرها من وسائل تخزين البيانات بأنها : 
تعمل على أي نظام تشغيل )مستقلة عن أي نظام تشغيل( .  
سرعة و سهولة في النقل على شبكة الإنترنت .  
تفهمها متصفحات الإنترنت .  
بنيتها الشجرية .  
05 4 تشرين الثاني، 14
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
XML بنية ملف ال 
tags فهي تعتمد مبدأ الوسوم HTML في الشكل الخارجي شبيهة بلغة  
لتوصيف البيانات . 
على أنها اسم نكتب Nizar فلو أردنا تخزين كلمة 
<name> Nizar </name> 
و قمنا بتخزين “ Nizar ” بهذه الطريقة سنخزن البيانات المراد تخزينها  
. “name” وصف لها أيضا 
أخرى tag ضمن tag ببنيتها الشجرية أي أنه يمكن وضع XML تمتاز الـ  
بشكل شجري 
05 6 تشرين الثاني، 14
XML بنية ملف ال 
<Student> 
<name> 
<FirstName> mohamad </FirstName> 
<LastName> Nizar </LastName> 
</name> 
<year> 23 </year> 
</Student> 
Student 
name year 
FirstName LastName 
05 7 تشرين الثاني، 14
XML المكونات الأساسية لملف 
يمثل العنصر الأساسي لتخزين البيانات و هو المكون المحاط : Elements • 
. tags بـ 
<name> mohammad</name> 
، tag توضع ضمن element و هي صفات خاصة بالـ : Attributes • 
لها اسم و قيمة و يجب أن تحاط القيمة بإشارات اقتباس مفردة أو مزدوجة ، كما 
في الشكل التالي : 
<Student id=“1” > 
05 8 تشرين الثاني، 14
XML المكونات الأساسية لملف 
و هو وسم مخصص يوضع في بداية الملف ليصف معلومات خاصة عنه ، له الشكل : Declaration • 
التالي : 
<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
حيث : 
المتبعة . XML لدلالة على إصدارة الـ :version  
لدلالة على نوع الترميز المستخدم في كتابة الملف . :Encoding  
لدلالة على أن المستند قائم بحد ذاته و لا يحتاج أي مستندات أخرى : Standalone  
<!-- Comment --> تعليقات أيضا و يجب أن تحاط بـ XML ممكن أن يحوي ملف الـ :Comments  
05 9 تشرين الثاني، 14
XML قواعد كتابة ملف 
 
فارغ و لا يحوي tag لكن في حال كان الـ ، <x> … </x> أخرى لإغلاقه tag بداية tag لكل 
فقط . <name/> أي بيانات يمكن أن ييأخذ الشكل 
 
أن تتداخل كأن نكتب : tags لا يمكن للـ 
<FirstName> 
<LastName> 
</FirstName> 
</LastName> 
 
خطأ 
يجب أن tags واحد فقط ، أي أنه يجب أن كل الـ Root على عنصر XML يحتوي ملف الـ 
. Root واحدة هي الـ tag تكون موجودة في النهاية ضمن 
 
حساسة لحالة الأحرف . 
 
قيم الصفات توضع بين علامتي إقتباس ” “. 
 
تسري على أسماء العناصر الشروط التي تسري على المتحولات العادية في أي لغة برمجة ، 
يجب ألا تبدأ برقم و ألا تحوي فراغات و لا رموز إلا الرمز ”_“ 
05 10 تشرين الثاني، 14
XML معالجة 
. XML يمكن لأي متصفح أن يقوم بتفسير مستندات  
عند استخدام مفسر : XML يوجد طريقتان شائعتان للتعامل مع مستندات  
يقرأ المفسر كامل المستند ويتم تحميله للذاكرة . : DOM  
System.Xml.XmlDocument تتم عن طريق الصنف  
من سيئاتها : حجم الذاكرة متناسب طرداً مع حجم الملف , بعض المفسرات لا تستطيع  
تفسير المستندات الكبيرة الحجم . 
قد لا نحتاج للبينة كاملة في الذاكرة في لحظة واحدة .  
إلية تفسير أمامية وللقراءة فقط , قراءة المستند عنصراً تلو الأخر .  
و System.Xml.XmlTextReader : يمكن العمل مع هذا النموذج من خلال الصنفين  
System.Xml.XmlTextWrite 
05 11 تشرين الثاني، 14
XmlTextReader الصنف 
xml هو عبارة عن قارئ يؤمن وصولاً سريع ا لًلأمام فقط لمعطيات  
عنصراً تلو الأخر وذلك عوضا عن تحميل المستند xml يقرأ مستند  
.DOM بأكمله كما في 
خصائص العقدة الحالية XmlTextReader تعكس خصائص كائن  
لا يمكن العودة إلى عقدة بعد قراءتها إلا بالرجوع إلى بداية المستند  
نحتاج إلى تخزين عقدة واحدة في الذاكرة بالتالي تخفيف استهلاك  
الذاكرة . 
05 12 تشرين الثاني، 14
XmlTextReader الصنف 
<?xml version="1.0"?> 
<BOOKLIST> 
<ITEM isbn="12323" topic="C#"> 
<CODE>16-041</CODE> 
<CATEGORY>HTML</CATEGORY> 
<RELEASE_DATE>1998-03-07</RELEASE_DATE> 
<TITLE>Instant HTML</TITLE> 
<SALES>127853</SALES> 
</ITEM> 
<ITEM isbn="532341" tpoic="JAVA"> 
<CODE>16-048</CODE> 
<CATEGORY>Scripting</CATEGORY> 
<RELEASE_DATE>1998-04-21</RELEASE_DATE> 
<TITLE>Instant JavaScript</TITLE> 
<SALES>375298</SALES> 
</ITEM> 
<ITEM isbn="232413" topic="Python"> 
<CODE>16-105</CODE> 
<CATEGORY>ASP</CATEGORY> 
<RELEASE_DATE>1998-05-10</RELEASE_DATE> 
<TITLE>Instant Active Server Pages</TITLE> 
<SALES>297311</SALES> 
</ITEM> 
</BOOKLIST> 
05 13 تشرين الثاني، 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
XmlTextReader الصنف 
05 15 تشرين الثاني، 14
XmlDocument الصنف 
. DOM نموذج XmlDocument يحقق الصنف  
إضافة ,حذف, تعديل(. (XML يسمح هذا الصنف بالتعامل مع مستند  
مثال :  
<?xml version="1.0"?> 
<books> 
<book> 
<author>Carson</author> 
<price format="dollar">31.95</price> 
<pubdate>05/01/2001</pubdate> 
</book> 
<pubinfo> 
<publisher>MSPress</publisher> 
<state>WA</state> 
</pubinfo> 
</books> 
05 16 تشرين الثاني، 14
XmlDocument الصنف 
05 17 تشرين الثاني، 14
: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
05 19 تشرين الثاني، 14

Más contenido relacionado

Destacado (6)

2 second lesson- attributes
2 second lesson- attributes2 second lesson- attributes
2 second lesson- attributes
 
10 system.security.cryptography
10 system.security.cryptography10 system.security.cryptography
10 system.security.cryptography
 
Introduction To ERP
Introduction To ERPIntroduction To ERP
Introduction To ERP
 
Coursera
CourseraCoursera
Coursera
 
Login System with Windows/Microsoft Live using OAuth php and mysql
Login System with Windows/Microsoft Live using OAuth php and mysqlLogin System with Windows/Microsoft Live using OAuth php and mysql
Login System with Windows/Microsoft Live using OAuth php and mysql
 
Models for hierarchical data
Models for hierarchical dataModels for hierarchical data
Models for hierarchical data
 

Similar a 5 fifth lesson -xml

access complet.pptx
access complet.pptxaccess complet.pptx
access complet.pptx
GmachImen
 

Similar a 5 fifth lesson -xml (18)

اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
 
أوامر دوس Dos
أوامر دوس Dosأوامر دوس Dos
أوامر دوس Dos
 
COMPLEX_DATA.pptx
COMPLEX_DATA.pptxCOMPLEX_DATA.pptx
COMPLEX_DATA.pptx
 
Www.kutub.info 17040
Www.kutub.info 17040Www.kutub.info 17040
Www.kutub.info 17040
 
ReplicationWorkshop.pptx
ReplicationWorkshop.pptxReplicationWorkshop.pptx
ReplicationWorkshop.pptx
 
Moodle plugins programing manual
Moodle plugins programing manualMoodle plugins programing manual
Moodle plugins programing manual
 
تعلم HTML CSS و JavaScript
تعلم HTML CSS و JavaScriptتعلم HTML CSS و JavaScript
تعلم HTML CSS و JavaScript
 
مواضيع متقدمة في JavaScript
مواضيع متقدمة في JavaScriptمواضيع متقدمة في JavaScript
مواضيع متقدمة في JavaScript
 
دليل البرمجة باستخدام Dynamo DB للمبتدئين
دليل البرمجة باستخدام Dynamo DB للمبتدئيندليل البرمجة باستخدام Dynamo DB للمبتدئين
دليل البرمجة باستخدام Dynamo DB للمبتدئين
 
ad
adad
ad
 
Database system concepts and architecture
Database system concepts and architectureDatabase system concepts and architecture
Database system concepts and architecture
 
access complet.pptx
access complet.pptxaccess complet.pptx
access complet.pptx
 
Mysql 1
Mysql 1Mysql 1
Mysql 1
 
java script course دورة جافا سكربت باللغة العربية
java script course دورة جافا سكربت باللغة العربيةjava script course دورة جافا سكربت باللغة العربية
java script course دورة جافا سكربت باللغة العربية
 
Www.kutub.info 16076
Www.kutub.info 16076Www.kutub.info 16076
Www.kutub.info 16076
 
HTML 5 - CSS 3 Arabic Book
HTML 5 - CSS 3 Arabic BookHTML 5 - CSS 3 Arabic Book
HTML 5 - CSS 3 Arabic Book
 
كتاب تعلم Html5 css3
كتاب تعلم Html5 css3كتاب تعلم Html5 css3
كتاب تعلم Html5 css3
 
كتاب تعلم Html5 و css3
كتاب تعلم Html5 و css3كتاب تعلم Html5 و css3
كتاب تعلم Html5 و css3
 

Más de Mohammad Alyan (10)

Blue ocean strategy arabic
Blue ocean strategy arabicBlue ocean strategy arabic
Blue ocean strategy arabic
 
Apple case study
Apple case studyApple case study
Apple case study
 
Introduction to Industry Life Cycles
 Introduction to Industry Life Cycles  Introduction to Industry Life Cycles
Introduction to Industry Life Cycles
 
Crowd funding
Crowd fundingCrowd funding
Crowd funding
 
Coursera
CourseraCoursera
Coursera
 
Course index
Course indexCourse index
Course index
 
التفكير- مصنع للإبداع
التفكير- مصنع للإبداعالتفكير- مصنع للإبداع
التفكير- مصنع للإبداع
 
Cloud computing
Cloud computing Cloud computing
Cloud computing
 
Linq introduction
Linq introductionLinq introduction
Linq introduction
 
10 1 otp all
10 1 otp all10 1 otp all
10 1 otp all
 

5 fifth lesson -xml

  • 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
  • 13. XmlTextReader الصنف <?xml version="1.0"?> <BOOKLIST> <ITEM isbn="12323" topic="C#"> <CODE>16-041</CODE> <CATEGORY>HTML</CATEGORY> <RELEASE_DATE>1998-03-07</RELEASE_DATE> <TITLE>Instant HTML</TITLE> <SALES>127853</SALES> </ITEM> <ITEM isbn="532341" tpoic="JAVA"> <CODE>16-048</CODE> <CATEGORY>Scripting</CATEGORY> <RELEASE_DATE>1998-04-21</RELEASE_DATE> <TITLE>Instant JavaScript</TITLE> <SALES>375298</SALES> </ITEM> <ITEM isbn="232413" topic="Python"> <CODE>16-105</CODE> <CATEGORY>ASP</CATEGORY> <RELEASE_DATE>1998-05-10</RELEASE_DATE> <TITLE>Instant Active Server Pages</TITLE> <SALES>297311</SALES> </ITEM> </BOOKLIST> 05 13 تشرين الثاني، 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
  • 15. XmlTextReader الصنف 05 15 تشرين الثاني، 14
  • 16. XmlDocument الصنف . DOM نموذج XmlDocument يحقق الصنف  إضافة ,حذف, تعديل(. (XML يسمح هذا الصنف بالتعامل مع مستند  مثال :  <?xml version="1.0"?> <books> <book> <author>Carson</author> <price format="dollar">31.95</price> <pubdate>05/01/2001</pubdate> </book> <pubinfo> <publisher>MSPress</publisher> <state>WA</state> </pubinfo> </books> 05 16 تشرين الثاني، 14
  • 17. XmlDocument الصنف 05 17 تشرين الثاني، 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
  • 19. 05 19 تشرين الثاني، 14