گره ها (DOM Nodes)
اینجا با «گره های DOM» آشنا می شوی. DOM یعنی مدل شیءِ سند. هر بخش XML یک «گره (Node)» است. بنابراین می توانیم ساختار را مثل یک درخت ببینیم و تغییر دهیم.
انواع گره در DOM
طبق XML DOM، همه چیز گره است. سند، عنصر، متن، ویژگی و حتی توضیح ها.
- Document: کل سند، یک گره سند.
- Element: هر تگ XML، یک گره عنصر.
- Text: متن داخل عناصر، گره متن.
- Attribute: هر ویژگی، گره ویژگی.
- Comment: یادداشت ها، گره توضیح.
نکته: برای مسیر کامل ترِ «گره های DOM» این صفحه نقطه مرجع توست. سپس به دسترسی به گره ها برو.
نمونه DOM
فایل books.xml را نگاه کن. ریشه، bookstore است و بقیه داخل آن قرار دارند.
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>
گره ریشه bookstore است. childها عناصر book هستند. هر book چند گره فرزند دارد.
متن همیشه در Text Node است
اشتباه رایج: فکر می کنیم متن، خود عنصر است. اما متن داخل یک Text Node ذخیره می شود. مثل: <year>2005</year> که مقدار متن در گره متن قرار دارد.
درخت گره ها (Node Tree)
XML مثل یک درخت دیده می شود. از ریشه شروع می شود و به گره های متن می رسد. بنابراین می توانی گره ها را پیمایش، ویرایش یا حذف کنی، و عناصر جدید بسازی.
والد، فرزند و خواهر-برادر
یک گره می تواند چند فرزند داشته باشد. گره های هم سطح، خواهر-برادر هستند. به جز ریشه، هر گره دقیقاً یک والد دارد.
فرزند اول و آخر
در قطعه زیر، title فرزند اول book و price فرزند آخر است.
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>
گام های تمرینی سریع
- یک XML ساده بساز.
- ریشه و فرزندها را نام گذاری کن.
- Text Nodeها را مشخص کن.
جمع بندی سریع
- هر چیز XML یک گره است.
- متن همیشه Text Node است.
- درخت از ریشه شروع می شود.
- گره ها والد و فرزند دارند.
- گره های DOM پایه پیمایش است.