دروس XML

الصفحة الرئيسية لـ XML مقدمة XML كيفية استخدام XML شجرة XML بناء جملة XML عناصر XML سمات XML مساحات أسماء XML عرض XML طلب XML HttpRequest محلل XML XML DOM XML XPath XML XSLT XML XQuery XML XLink مدقق XML XML DTD مخطط XML خادم XML أمثلة XML مسابقة XML شهادة XML

XML AJAX

مقدمة أجاكس أجاكس XMLHttp طلب AJAX استجابة AJAX ملف AJAX XML أجاكس بي إتش بي أجاكس آسيا والمحيط الهادئ قاعدة بيانات أجاكس تطبيقات أجاكس أمثلة AJAX

XML DOM

مقدمة حول DOM عقد DOM الوصول إلى DOM معلومات عقدة DOM قائمة عقدة DOM عبور DOM التنقل في DOM DOM احصل على القيم DOM تغيير العقد DOM إزالة العقد استبدل DOM Nodes DOM إنشاء العقد DOM أضف العقد عقد استنساخ DOM أمثلة DOM

دروس XPath

مقدمة XPath عقد XPath بناء جملة XPath محاور XPath مشغلي XPath أمثلة XPath

XSLT التعليمي

XSLT مقدمة لغات XSL تحويل XSLT XSLT <template> XSLT <قيمة> XSLT <للجميع> XSLT <ترتيب> XSLT <if> XSLT <اختر> XSLT تطبيق XSLT على العميل XSLT على الخادم XSLT تحرير XML أمثلة XSLT

XQuery تعليمي

XQuery مقدمة مثال XQuery XQuery FLWOR XQuery HTML شروط XQuery بناء جملة XQuery XQuery إضافة XQuery حدد وظائف XQuery

XML DTD

مقدمة DTD مكعبات بناء DTD عناصر DTD سمات DTD عناصر DTD مقابل Attr كيانات DTD أمثلة DTD

مخطط XSD

مقدمة XSD XSD كيف XSD <المخطط عناصر XSD سمات XSD قيود XSD

مجمع XSD

عناصر XSD XSD فارغ عناصر XSD فقط نص XSD فقط XSD مختلط مؤشرات XSD XSD <أي> XSD <أي سمة> تبديل XSD مثال XSD

بيانات XSD

سلسلة XSD تاريخ XSD XSD الرقمية XSD متفرقات مرجع XSD

خدمات الويب

خدمات XML XML WSDL صابون XML XML RDF XML RSS

مراجع

أنواع عقدة DOM عقدة DOM قائمة عقدة DOM DOM NamedNodeMap مستند DOM عنصر DOM سمة DOM نص DOM DOM CDATA تعليق DOM DOM XMLHttpRequest محلل DOM عناصر XSLT وظائف XSLT / XPath

XML DOM أضف العقد


جربها بنفسك - أمثلة

تستخدم الأمثلة أدناه ملف XML books.xml .


يستخدم هذا المثال appendChild () لإضافة عقدة فرعية إلى عقدة موجودة.


فرعية محددة يستخدم هذا المثال insertBefore () لإدراج عقدة قبل عقدة فرعية محددة.


يستخدم هذا المثال الأسلوب setAttribute () لإضافة سمة جديدة.


يستخدم هذا المثال insertData () لإدراج البيانات في عقدة نصية موجودة.

×

Header


إضافة عقدة - appendChild ()

يضيف الأسلوب appendChild () عقدة فرعية إلى عقدة موجودة.

تتم إضافة (إلحاق) العقدة الجديدة بعد أي عقد فرعية موجودة.

ملاحظة: استخدم insertBefore () إذا كان موضع العقدة مهمًا.

يُنشئ جزء الكود هذا عنصرًا (<edition>) ويضيفه بعد العنصر الفرعي الأخير من عنصر <book> الأول:

مثال

newEle = xmlDoc.createElement("edition");

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);

شرح المثال:

  1. افترض أنه تم تحميل " books.xml " في xmlDoc
  2. إنشاء عقدة جديدة <edition>
  3. قم بإلحاق العقدة بأول عنصر <book>

جزء الكود هذا يفعل نفس الشيء كما هو مذكور أعلاه ، لكن العنصر الجديد يضاف بقيمة:

مثال

newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);

شرح المثال:

  1. افترض أنه تم تحميل " books.xml " في xmlDoc
  2. إنشاء عقدة جديدة <edition>
  3. إنشاء عقدة نصية جديدة "أولاً"
  4. إلحاق عقدة النص بالعقدة <edition>
  5. إلحاق العقدة <addition> بالعنصر <book>


أدخل عقدة - insertBefore ()

يقوم أسلوب insertBefore () بإدراج عقدة قبل عقدة فرعية محددة.

هذه الطريقة مفيدة عندما يكون موضع العقدة المضافة مهمًا:

مثال

newNode = xmlDoc.createElement("book");

x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];

x.insertBefore(newNode,y);

شرح المثال:

  1. افترض أنه تم تحميل " books.xml " في xmlDoc
  2. قم بإنشاء عقدة عنصر جديدة <book>
  3. أدخل العقدة الجديدة أمام آخر عقدة عنصر <book>

إذا كانت المعلمة الثانية لـ insertBefore () خالية ، فستتم إضافة العقدة الجديدة بعد آخر عقدة فرعية موجودة.

سيقوم كل من x.insertBefore (newNode، null) و x.appendChild (newNode) بإلحاق عقدة فرعية جديدة بـ x.


أضف سمة جديدة

يعين أسلوب setAttribute () قيمة السمة.

مثال

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");

شرح المثال:

  1. افترض أنه تم تحميل "books.xml" في xmlDoc
  2. عيّن قيمة السمة "edition" على "first" لأول عنصر <book>

لا توجد طريقة تسمى add Attribute ()
ستقوم setAttribute () بإنشاء سمة جديدة إذا كانت السمة غير موجودة.

ملاحظة: إذا كانت السمة موجودة بالفعل ، فستستبدل طريقة setAttribute () القيمة الحالية.


إضافة نص إلى عقدة نص - insertData ()

تقوم طريقة insertData () بإدراج البيانات في عقدة نصية موجودة.

الأسلوب insertData () له معلمتان:

  • الإزاحة - من أين تبدأ إدخال الأحرف (يبدأ من الصفر)
  • السلسلة - السلسلة المطلوب إدراجها

سيضيف جزء التعليمات البرمجية التالي "سهل" إلى العقدة النصية لعنصر <title> الأول من XML المحمَّل:

مثال

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");