الفرق بين المراجعتين لصفحة: «برمجة جامباس/التعامل مع وثائق XML»

تم حذف المحتوى تمت إضافة المحتوى
لا ملخص تعديل
لا ملخص تعديل
سطر 1:
== '''التركيب الرئيسي لوثيقة XML''' ==
جميع وثائق XML تبدأ بـ
<source lang="xml"> <?xml version=”1.0” encoding=”UTF-16”?></source>
السطر 15 ⟵ 16:
</source>
كما ترى, فقد تم فصل المستند بعدة سطور وهناك بعض المسافات البادئة للدلالة على مختلف مستويات التداخل ، ولكن هذا ليس ضروريا ، يمكن أن تحتوي أي وثيقة من سطر واحد من النص. لكن التنسيق بهذه الطريقة تساعدك على فهم المستند. سوف تجد أنه من المفيد جدا تنسيق وثائق XML عندما تحتاج إلى قراءة أو تحرير الوثيقة في محرر نصوص عادي.
 
== '''كتابة وثيقة XML''' ==
ستبدأ بكتابة برنامج يقوم بإنشاء وثيقة XML التالية بناء على واحدة من الوظائف التي سبق أن عملت عليها في درس العناصر .
<source lang="xml"> <?xml version=”1.0” encoding=”UTF-16” ?>
<!-- Heroes Characters -->
<characters serie=”Heroes”>
<heroe id=”1” name=”Claire Bennet”>
<name>Claire Bennet</name>
<played_by>Hayden Panettiere</played_by>
<ability>
Rapid cellular regeneration
</ability>
</heroe>
<heroe id=”2” name=”Hiro Nakamura”>
<name>Hiro Nakamura</name>
<played_by>Masi Oka</played_by>
<ability>
Space-time manipulation: teleportation & time travel
</ability>
</heroe>
<villain id=”1” name=” Gabriel Sylar”>
<name>Gabriel Sylar</name>
<played_by>Zachary Quinto</played_by>
<ability>
Understand how things work and multiple other abilities acquired
</ability>
</villain>
</characters></source>
قم بإنشاء تطبيق نصي جديد وسمه WriteXML, تأكد من أنك أشرت على عنصر XML/XSLT ضمن خيارات المشروع.بتفعيلك لهذا الخيار,فأنت تخبر Gambas بحاجتك للعنصرين gb.xml و gb.xml.xslt وسيقوم بإضافتهما إلى المشروع.سنقوم بكتابة وظيفة جديدة ضمن MMain سيم فتح عنصر XmlWriter لكتابة وحفظ المستند Heroes.xml في مجلد المنزل وسيتم إنشائه شاملا المسافات البادئة والتي ذكرناها سابقا .
<source lang="vb"> Dim writer as XmlWriter
writer = NEW XmlWriter
writer.Open(User.Home & “/Heroes.xml”, TRUE)
writer.Comment(“Heroes Characters”)
‘Following code goes here
writer.EndDocument()
</source>
سيتم فتح الملف بإستخدام Open وفي الحقيقة لن يتم كتابته إلى مجلد المستخدم حتى يتم إستدعاءEndDocument . هذه الوظيفة, تقوم بإنهاء أي وسم (tag) مفقود وذلك لتحقيق التوافقية مع مبادئ تحريرXML.
العنصر الرئيسي هو character, ولتخبر Gambas بذلك سنقوم بكتابة الكود التالي بين التعليمتين Open و EndDocument:
<source lang=xml> writer.StartElement(“characters”)
writer.Attribute(“serie”, “Heroes”)
‘Elements code will replace this comment line
writer.EndElement ‘characters</source>
 
إعتادت أوراكل على قول “كل ما له بداية له نهاية”وفي حالة XML فذلك صحيح مئة بالمئة. لهذا قمنا بكتابة الوظيفة EndElement مباشرة بعد StartElement التي تسبقها. وهو تمرين جيد أن تقوم بإقفال الجمل التي تحتاج إلى إقفال لاحقا , وذلك لتتجنب صداع تتبع الأخطاء.
داخل الوظيفتين StartElement و EndElement , سنكتب أول عنصرheroe.
<source lang=xml> writer.StartElement(“heroe”)
writer.Attribute(“id”, “1”)
writer.Attribute(“name”, “Claire Bennet”)
writer.StartElement(“name”)
writer.Text(“Claire Bennet”)
writer.EndElement ‘name
writer.StartElement(“played_by”)
writer.Text(“Hayden Panettiere”)
writer.EndElement ‘played_by
writer.StartElement(“ability”)
writer.Text(“Rapid cellular regeneration”)
writer.EndElement ‘ability
writer.EndElement ‘heroe 1</source>
مباشرة بعد ذلك سنقوم بكتابة عنصر heroe مع بعض الإختصارات التي تحبها.
<source lang=xml> writer.StartElement(“heroe”, [“id”, “2”, “name”, “Hiro Nakamura”])
writer.Element(“name”, “Hiro Nakamura”)
writer.Element(“played_by”, “Masi Oka”)
writer.Element(“ability”, “Space-time manipulation: teleportation & time travel”)
writer.EndElement ‘heroe 2</source>
شغل البرنامج ثم إفتح الملف Heroes.xml بمحرر نصوص أو متصفح إنترنت وسترى وثيقة XML الناتجة.