DOM XML

DOM چیست؟

Document Object Model (DOM) استانداردهای دسترسی و عملکرد مستندات را تعریف می‌کند:

“W3C Document Object Model (DOM) یک رابط مستقل از پلتفرم و زبان است که به برنامه‌ها و اسکریپت‌ها اجازه می‌دهد به صورت دینامیک محتوای، ساختار و استایل مستندات دسترسی و به‌روزرسانی کنند.”

HTML DOM روش‌های استاندارد برای دسترسی و عملکرد HTML مستندات تعریف شده است. این مستندات HTML را به ساختار درختی ارائه می‌دهد.

DOM XML روش‌های استاندارد برای دسترسی و عملکرد XML مستندات تعریف شده است. این مستندات XML را به ساختار درختی ارائه می‌دهد.

برای هر توسعه‌دهنده‌ای که از HTML یا XML استفاده می‌کند، درک DOM ضروری است.

HTML DOM

تمام عناصر HTML می‌توانند از طریق HTML DOM دسترسی پیدا کنند.

مثال زیر تغییر می‌دهد: HTML عناصر با استفاده از id="demo".

مثال

<h1 id="demo">این عنوان است</h1>
<button type="button" onclick="document.getElementById('demo').innerHTML = 'Hello World!'">
لطفاً روی من کلیک کنید!
</button>

آزمایش کنید

می‌توانید در آموزش‌های JavaScript ما در مورد HTML DOM اطلاعات بیشتری.

DOM XML

همه‌ی عناصر XML می‌توانند از طریق XML DOM دسترسی پیدا کنند.

Books.xml

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="غذا">
    <title lang="zh">یاشه درباره خوردن</title>
    <author>لیان شیچیو</author>
    <year>2013</year>
    <price>35</price>
  </book>
  <book category="کودکان">
    <title lang="zh">پدر شگفت‌انگیز فک‌ها</title>
    <author>رولد دور</author>
    <year>2009</year>
    <price>10.00</price>
  </book>
</bookstore>

این کد مقدار متن عناصر <title> اولین XML مستند را جستجو می‌کند:

مثال

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

XML DOM استانداردی برای دسترسی، تغییر، اضافه کردن و حذف عناصر XML است.

این مثال شامل بارگذاری رشته‌ی متن به عنوان یک شیء DOM XML و استفاده از JavaScript برای استخراج اطلاعات از آن است:

مثال

<html>
<body>
<p id="demo"></p>
<script>
var text, parser, xmlDoc;
text = "<bookstore><book>" +
"<title>雅舍谈吃</title>" +
"<author>梁实秋</author>" +
"<year>2009</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>

آزمایش کنید

شما در آموزش XML DOM ما خواهید آموخت DOM XML محتوای بیشتری.