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



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

جلسه ۴۴ : آموزش کار با سینتکس XPath

  • دسته‌بندی‌ها :
جلسه ۴۴ : آموزش کار با سینتکس XPath
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

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

      آموزش کار با سینتکس XPath

      XPath از عبارات مسیر برای انتخاب گره ها یا گره ها در یک سند XML استفاده می کند.
      این گره ها از طریق دنبال کردن path یا steps انتخاب می شوند.

      یک مثال از  سند XML

      ما از سند XML زیر در نمونه های آتی استفاده خواهیم کرد.

      مثال : 

      انتخاب گره ها

      همان طور که قبلاً هم به آن اشاره شد XPath از عبارات مسیر برای انتخاب گره در یک سند XML استفاده می کند و این گره ها از طریق دنبال کردن path یا steps انتخاب می شوند.
      در ادامه می توانید رایج ترین path expressions یا عبارت های مسیر را ببینید.

      عبارتتوضیحات
      nodenameاین عبارت همه گره ها را با نام “nodename” انتخاب می نماید.
      /این عبارت انتخاب گره ها را از ریشه انجام می دهد.
      //این عبارت گره های فعلی را با توجه جایی که قرار دارند انتخاب می نماید.
      .این عبارت گره فعلی را انتخاب می کند.
      ..این عبارت والد یا parent گره فعلی را بر می گزیند.
      @این عبارت ویژگی ها یا attributes را انتخاب می کند.

      در جدول زیر بعضی عبارات مسیر و نتیجه عبارات ذکر شده است:

      عبارت مسیر
      Path Expression
      نتیجه
      bookstoreتمام گره ها را با نام “bookstore” انتخاب می کند.
      bookstore/ریشه های عنصر bookstore را انتخاب می نماید.
      نکته: اگر مسیر با یک اسلش (/) شروع شود در آن صورت آن گره همیشه به عنوان یک مسیر مطلق یا  absolute path نمایش داده خواهد شد.
      bookstore/bookتمام عناصر book که children های bookstore هستند را انتخاب می کند.
      book//همه عناصر book را بدون توجه به جایی که در سند هستند، انتخاب می کند
      bookstore//bookتمام عناصر bookstore را که به نحوی نواده یا descendant هستند را بدون توجه به جایی که این عناصر bookstore قرار دارند؛ انتخاب می نماید.
      lang@//همه ویژگی ها یا attributes هایی را که به نام lang هستند را انتخاب می نماید.

      پیش بینی ها Predicates

      پیش بینی ها یا Predicates برای پیدا کردن یک گره خاص یا گره ای که حاوی مقدار خاصی هستند استفاده می شوند.
      پیش بینی ها همیشه به شکل مربع جاسازی شده اند.
      در جدول زیر برخی از عبارات مسیر با پیش فرض ها و نتیجه  آن ها بیان شده اند:

      عبارت مسیر
      Path Expression
      نتیجه
      [/bookstore/book[1اولین عنصر کتاب که کودک عنصر کتابفروشی است را انتخاب می کند.
      توجه: در IE 5،۶،۷،۸،۹ اولین گره [۰] است، اما بر اساس W3C، آن [۱] است. برای حل این مشکل در اینترنت اکسپلورر، SelectionLanguage را روی XPath تنظیم کنید:در جاوا اسکریپت: (“xml.setProperty (“SelectionLanguage”، “XPath
      [/bookstore/book[last()آخرین عنصر book که عنصر child از bookstore است را انتخاب می کند.
      [/bookstore/book[last()-1آخرین عنصر book که عنصر child از bookstore است را انتخاب می کند.
      [/bookstore/book[position()<3اولین دو عنصر book که children های عنصر bookstore هستند را انتخاب می کند.
      [//title[@langتمام عناصر title را که دارای یک ویژگی یا attribute با نام lang هستند را انتخاب می کند.
      [//title[@lang=’en’تمام عناصر title را که دارای ویژگی “lang” با مقدار “en” است انتخاب می کند.
      [/bookstore/book[price>35.00تمام عناصر book عنصر bookstore را که دارای یک عنصر قیمت price با ارزش بیش از ۳۵٫۰۰ هستند انتخاب می کند
      [/bookstore/book[price>35.00]/titleتمام عناصر title عنصر bookstore را که دارای یک عنصر قیمت price با ارزش بیش از ۳۵٫۰۰ هستند انتخاب می کند

      انتخاب گره های ناشناخته Selecting Unknown Nodes

      wildcards XPath می تواند برای انتخاب گره های ناشناخته XML استفاده شود.

      Wildcardتوصیفات
      *این ویلدکارت هر عنصر گره ای را انطباق می دهد.
      *@این ویلدکارت هر گره attribute را انطباق می دهد.
      ()nodeاین ویلدکارت هر گره با هر نوعی را مطابقت می دهد.

      در جدول زیر بعضی عبارات مسیر و نتیجه عبارات ذکر شده است:

      عبارت مسیر
      Path Expression
      نتیجه
      */bookstore/تمام گره های عنصر child را از عنصر bookstore انتخاب می نماید.
      *//تمام عناصر موجود در سند را انتخاب می کند.
      [*@]title//تمام عناصر tittle را که دارای حداقل یک ویژگی attribute هستند را انتخاب می کند

      در پایان آموزش کار با سینتکس XPath شما را با انتخاب مسیرهای مختلف در XPath آشنا می نماییم.

      انتخاب مسیرهای مختلف

      با استفاده از اپراتور | در یک عبارت XPath شما می توانید چندین مسیر را انتخاب کنید.
      در جدول زیر بعضی عبارات مسیر و نتیجه عبارات ذکر شده است:

      عبارت مسیر
      Path Expression
      نتیجه
      book/title | //book/price//تمام عناصر عنوان title و قیمت price را از عناصر book را انتخاب می کند.
      title | //price//تمام عناصر عنوان title و قیمت price را در سند انتخاب می کند.
      bookstore/book/title | //price/تمام عناصر title را از عنصر book که خود جزئی از عنصر bookstore است انتخاب می نماید و و همه عناصر قیمت price را نیز از سند انتخاب می نماید.

      کلام آخر

      در این جلسه آموزش کار با سینتکس XPath به علاقمندان این دوره ارائه شد.
      در جلسه بعدی آموزش کار با محور XPath همراه شما خواهیم بود.
      با پی وی لرن همراه باشید.

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