دروس 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

×

Header

برنامج XML DOM التعليمي


XML DOM

DOM node tree

ما هو DOM؟

يحدد DOM معيارًا للوصول إلى المستندات ومعالجتها:

"نموذج كائن المستند (DOM) من W3C هو نظام أساسي وواجهة لغة محايدة تسمح للبرامج والنصوص بالوصول الديناميكي إلى محتوى المستند وهيكله ونمطه وتحديثه."

يحدد HTML DOM طريقة قياسية للوصول إلى مستندات HTML ومعالجتها. يقدم مستند HTML كبنية شجرة.

يحدد XML DOM طريقة قياسية للوصول إلى مستندات XML ومعالجتها. يقدم وثيقة XML كهيكل شجرة.

يعد فهم DOM أمرًا ضروريًا لأي شخص يعمل باستخدام HTML أو XML.


HTML DOM

يمكن الوصول إلى جميع عناصر HTML من خلال HTML DOM.

يغير هذا المثال قيمة عنصر HTML بالمعرف = "demo":

مثال

<h1 id="demo">This is a Heading</h1>

<script>
document.getElementById("demo").innerHTML = "Hello World!";
</script>

يغير هذا المثال قيمة العنصر <h1> الأول في مستند HTML:

مثال

<h1>This is a Heading</h1>

<h1>This is a Heading</h1>

<script>
document.getElementsByTagName("h1")[0].innerHTML = "Hello World!";
</script>

ملاحظة: حتى لو احتوى مستند HTML على عنصر <h1> واحد فقط ، فلا يزال يتعين عليك تحديد فهرس المصفوفة [0] ، لأن طريقة getElementsByTagName () تُرجع مصفوفة دائمًا.

يمكنك معرفة المزيد حول HTML DOM في برنامج JavaScript التعليمي الخاص بنا .



XML DOM

يمكن الوصول إلى جميع عناصر XML من خلال XML DOM.

XML DOM هو:

  • نموذج كائن قياسي لـ XML
  • واجهة برمجة قياسية لـ XML
  • النظام الأساسي واللغة مستقلة
  • معيار W3C

بمعنى آخر: يعد XML DOM معيارًا لكيفية الحصول على عناصر XML أو تغييرها أو إضافتها أو حذفها.


احصل على قيمة عنصر XML

يسترد هذا الرمز القيمة النصية لعنصر <title> الأول في مستند XML:

مثال

txt = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;

تحميل ملف XML

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

يقرأ هذا المثال "books.xml" في xmlDoc ويسترد القيمة النصية لعنصر <title> الأول في books.xml:

مثال

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    myFunction(this);
    }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();

function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    document.getElementById("demo").innerHTML =
    xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
}
</script>

</body>
</html>

شرح المثال

  • xmlDoc - كائن XML DOM الذي تم إنشاؤه بواسطة المحلل اللغوي.
  • getElementsByTagName ("title") [0] - احصل على أول عنصر <title>
  • childNodes [0] - الطفل الأول لعنصر <title> (عقدة النص)
  • nodeValue - قيمة العقدة (النص نفسه)

تحميل سلسلة XML

يقوم هذا المثال بتحميل سلسلة نصية في كائن XML DOM ، ويستخرج المعلومات منه باستخدام JavaScript:

مثال

<html>
<body>

<p id="demo"></p>

<script>
var text, parser, xmlDoc;

text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>

</body>
</html>

واجهة البرمجة

يصمم DOM XML كمجموعة من كائنات العقدة. يمكن الوصول إلى العقد باستخدام JavaScript أو لغات برمجة أخرى. في هذا البرنامج التعليمي نستخدم JavaScript.

يتم تعريف واجهة البرمجة الخاصة بـ DOM من خلال مجموعة من الخصائص والأساليب القياسية.

غالبًا ما يشار إلى الخصائص على أنها شيء (أي أن الاسم العقدي هو "كتاب").

غالبًا ما يشار إلى الطرق على أنها شيء يتم القيام به (أي حذف "كتاب").


خصائص XML DOM

هذه بعض خصائص DOM النموذجية:

  • x.nodeName - اسم x
  • x.nodeValue - قيمة x
  • x.parentNode - العقدة الأصل لـ x
  • x.childNodes - العقد الفرعية لـ x
  • x.attributes - سمات عقد x

ملاحظة: في القائمة أعلاه ، x هو كائن عقدة.


أساليب XML DOM

  • x.getElementsByTagName ( name ) - احصل على جميع العناصر باسم علامة محدد
  • x.appendChild ( عقدة ) - أدخل عقدة فرعية في x
  • x.removeChild ( عقدة ) - إزالة عقدة فرعية من x

ملاحظة: في القائمة أعلاه ، x هو كائن عقدة.