با سلام خدمت کاربران گرامی سایت پی وی لرن و علاقمندان و کاربرانی که علاقمند به یادگیری دوره XML هستند. در جلسه گذشته با جزئیات مفصلی به بررسی DOM در XML پرداختیم. در ادامه فصل DOM با آموزش کار با گره ها در DOM همراه شما هستیم.
با توجه به XML DOM، می توان گفت همه چیز در یک سند XML یک گره است:
نگاهی به فایل XML زیر (books.xml) بی اندازید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <bookstore> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="web"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="web" cover="paperback"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> |
و سپس به کدهای زیر توجه نمایید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?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> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="web"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="web" cover="paperback"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> |
گره ریشه در XML بالا <bookstore> نام دارد.
تمام گره های دیگر در سند در داخل <bookstore> قرار دارند.
گره ریشه <bookstore> دارای ۴ گره <book> است.
اولین گره <book> گره های child را نگه می دارد: <title>، <author>، <year>، و <price>.
گره های child دارای یک گره متنی هستند: “Everyday Italian” و “Giada De Laurentiis” و “۲۰۰۵” و در نهایت “۳۰٫۰۰”.
یک خطای معمول در پردازش DOM این است که انتظار داشته باشیم که یک عنصر گره یا element node حاوی متن باشد.
با این حال، متن یک گره عنصر در یک گره متنی ذخیره می شود.
در این مثال: <year> 2005 </ year> گره عنصر <year> یک گره متنی با مقدار «۲۰۰۵» را نگه داشته است.
“۲۰۰۵” ارزش عنصر <year> نیست!
XML DOM یک سند XML را به عنوان یک ساختار درخت مشاهده می کند.
ساختار درخت یک درخت گره node-tree نامیده می شود.
تمام گره ها را می توان از طریق درخت مشاهده کرد.
محتویات آنها نیز می تواند اصلاح یا حذف شود و یا عناصر جدید در آن ها ایجاد شود.
درخت گره مجموعه ای از گره ها و اتصالات بین آنها را نمایش می دهد.
درخت از گره ریشه root node شروع می شود و گره های متن text nodes را در پایین ترین سطح درخت قرار می دهد:
تصویر بالا نشانگر فایل XML فایل books.xml است:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <bookstore> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="web"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="web" cover="paperback"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> |
گره ها در درخت گره یک رابطه سلسله مراتبی با یکدیگر دارند.
اصطلاحات پدر و مادر، فرزند و خواهر و برادر برای توصیف روابط استفاده می شود.
گره های والدین دارای فرزند هستند. فرزندان در همان سطح خواهر یا برادر (برادر یا خواهر) نام گذاری شده اند.
تصویر زیر بخشی از درخت گره و رابطه بین گره ها را نشان می دهد:
از آنجا که داده های XML در یک فرم درختی ساختار می گیرند، می توان بدون دانستن ساختار دقیق درخت و بدون دانستن نوع داده های موجود در داخل آن جا به جا شد.
در جلسات بعدی بیشتر در خصوص جا به جایی در درخت گره ها خواهید آموخت.
به بخش XML زیر توجه کنید:
1 2 3 4 5 6 7 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> |
در XML بالا، عنصر <title> اولین فرزند عنصر <book> است و عنصر <price> آخرین فرزند عنصر <book> است.
علاوه بر این، عنصر <book> گره اصلی گرههای <title>، <author>، <year> و <price> است.
در این جلسه آموزش کار با گره ها در DOM به علاقمندان این دوره ارائه گردید.
در جلسه بعدی در خصوص دسترسی ها به گره ها در DOM به بررسی و آموزش نکاتی تازه می پردازیم.
با پی وی لرن همراه باشید.