دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۸
  • اردیبهشت

جلسه ۳۳ : آموزش جا به جایی در گره ها در DOM

  • دسته‌بندی‌ها :
جلسه ۳۳ : آموزش جا به جایی در گره ها در DOM
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با سلام خدمت کاربران گرامی سایت پی وی لرن و علاقمندان و کاربرانی که علاقمند به یادگیری دوره XML هستند. در جلسه گذشته با لیست گره ها آشنا شدیم و کار با آن ها را فراگرفتیم. در ادامه فصل DOM و کار با گره ها، آموزش جا به جایی در گره ها در DOM را ارائه می نماییم.

      آموزش جا به جایی در گره ها در DOM

      جا به جایی یا Traversing در  گره ها به این معناست که بتوان از قابلیت Loop استفاده کرد و یا از میان ذرخت گره ها node tree جا به جا شد.

      جا به جایی در درخت گره

      گاهی پیش می آید که قصد Loop نمودن یک سند XML را دارید؛ برای مثال زمانی که قصد استخراج ارزش هر عنصر را دارید؛ به این فرآیند “Traversing the node tree” یا جا به جایی در درخت گره گفته می شود.

      در مثال زیر Loops ها در یک گره child از عنصر <book> و نیز نام ها و مقادیر نمایش داده شده است.

      مثال : 

      خروجی :

      مثال : 

      تشریح مثال بالا

      ۱٫فرض کنيد “books.xml” را به xmlDoc بارگذاري کرده ايد.
      ۲٫ گره های child عنصر ریشه را دریافت می کند.
      ۳٫ برای هر گره child ، خروجی نام گره و مقدار گره از text node به عنوان خروجی در نظر گرفته شده اند.

      تفاوت های مرورگر در تجزیه DOM

      همه مرورگرهای مدرن از مشخصات W3C DOM پشتیبانی می کنند.
      با این حال، بین مرورگرها تفاوت هایی وجود دارد. یک تفاوت مهم این است: نحوه برخورد با فضاهای سفید و خطوط جدید!

      DOM – فضاهای سفید و خطوط جدید

      XML اغلب حاوی خط جدید new line یا علامت فضای سفید white space در بین گره است.
      این اتفاق اغلب شامل مواردی می شود که سند توسط یک ویرایشگر ساده مثل Notepad ویرایش می شود.
      مثال زیر (ویرایش توسط Notepad) شامل CR / LF (خط جدید) بین هر خط و دو فاصله در مقابل هر گره child است:

      مثال : 

      اینترنت اکسپلورر ۹ و قبل از آن، فضاهای سفید و یا خطوط جدید را به عنوان گره های متنی را در نظر نمی گیرند، در حالی که مرورگرهای دیگر این کار را انجام می دهند.
      مثال زیر تعداد گره های child را که عنصر ریشه (از books.xml) دارد را به عنوان خروجی تعیین می نماید.

      مثال : ooks.xml

      IE9 و نسخه های قبلی آن تنها چهار گره child تعیین می کنند در حالی که IE10 و نسخه های بالاتر و سایر مرورگرها ۹ گره child را ایجاد می نمایند.

      مثال : 

      PCDATA – اطلاعات شخصیت پردازش شده

      تجزیه کننده XML معمولا تمام متن را در یک سند XML تجزیه می کند.
      هنگامی که یک عنصر XML تجزیه می شود، متن بین تگ های XML نیز تجزیه می شود:

      مثال : 

      تجزیه کننده این کار را انجام می دهد، زیرا عناصر XML می توانند شامل عناصر دیگر باشند، همانطور که در این مثال، که عنصر <name> شامل دو عنصر دیگر (اول و آخر) است:

      مثال : 

      و تجزیه کننده آن را به زیر عناصر مانند زیر تقسیم می کند:

      مثال : 

      کاراکترهای داده تجزیه شده یا (PCDATA) یک اصطلاح مورد استفاده در مورد داده های متنی است که توسط تجزیه کننده XML پردازش شده است.

      CDATA- (غیر قابل  تجزیه) – داده های کاراکتر

      اصطلاح CDATA در مورد داده های متن مورد استفاده قرار می گیرد که نباید تجزیه کننده XML آن را تجزیه کند.
      شخصیت هایی مانند “<” و “&” در عناصر XML غیرقانونی هستند.
      “<” یک خطا ایجاد می کند، زیرا تجزیه کننده آن را به عنوان یک عنصر جدید تفسیر می کند.
      “&” یک خطا ایجاد می کند، زیرا تجزیه کننده آن را به عنوان آغاز یک موجودیت یک کاراکتر تفسیر می کند.
      برخی از متنها، مانند کد جاوا اسکریپت، شامل بسیاری از کاراکترهای “<” یا “&” هستند.
      برای جلوگیری از خطا کد اسکریپت می تواند به عنوان CDATA تعریف شود.
      همه چیز در بخش CDATA توسط تجزیه کننده نادیده گرفته می شود.
      بخش CDATA با “<![CDATA[” and ends with “]]>” شروع می شود:

      مثال : 

      در مثال بالا، همه چیز در بخش CDATA توسط تجزیه کننده نادیده گرفته می شود.
      آموزش جا به جایی در گره ها در DOM را با بخش یادداشت ها در بخش CDATA به پایان می بریم.

      یادداشت ها در بخش CDATA یا (Notes on CDATA sections)

      بخش CDATA نمی تواند شامل رشته “<[[” باشد.
      بخش Nested CDATA را نیز نمی توان استفاده کرد.
      “<[[” که پایان بخش CDATA را نشان می دهد نمی تواند شامل فضاها spaces و یا خطوط  line breaks شکسته شود.

      کلام آخر

      در طی این جلسه با آموزش جا به جایی در گره ها در DOM همراه شما بودیم.

      در جلسه بعدی شما را به آموزش Navigating Nodes یا نحوه راهبری و هدایت گره ها دعوت می نماییم.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۳۳ : آموزش جا به جایی در گره ها در DOM
      به اشتراک بگذارید