XPath چیست؟

Published on 02/17,2017

دوستان سلام!

در این پست می­ خواهم در ادامه مطلب قبلی خود نکاتی تکمیلی در مورد XML را بیان کنم. من می ­خواهم XPath را معرفی کنم.

Xpath یا XML Path Language همانطور که از نام آن پیداست یک زبان مسیر بر روی XML است. این زبان برای انتخاب بخشی از کل فایل XMLاستفاده می­ شود.

فرض کنید که در فایل XML خود اطلاعات زیادی را با ساختاری خاص که توسط DTD یا XSD توصیف شده است، ذخیره کرده ­اید. حال می ­خواهید از این فایل استفاده کنید. مثلا می­ خواهید بدانید که آیا رکوردی به نام آقای xxx در فایل خود  دارید یا نه؟ یا اینکه اگر فایل شما نمرات دانشجویان را در خود دارد، می خواهید ببینید کدام یک از دانشجویان در درس xxx نمره ­ی زیر 15  کسب کرده ­اند. هر کدام از دو مورد ذکر شده یک پرس و جو (query) محسوب می ­شوند.

برای پاسخ به سوالات خود نیاز به Xpath دارید تا بتوانید اطلاعات مد نظر خود را از کل فایل XML ای که در اختیار دارید استخراج کنید. یکی از دلایل استفاده از این زبان این است که با توجه به حجیم بودن فایل XML خود، نمی­ توانید به صورت دستی (manual) خودتان کل فایل را جستجو کنید. زیرا در این روش احتمال بروز خطا وجود دارد.

این زبان همانند سایر زبان­ ها دارای نحوی خاص است. در ادامه یک مثال ارائه می ­شود. اما قبل از مشاهده مثال فرض کنید یک فایل XML مانند زیر وجود دارد. این فایل حاوی دستورات آشپزی برای تعدادی غذاست. در این فایل هر غذا شامل مواد تشکیل دهنده آن و نحوه پخت آن به صورت زیر  وجود دارد.

  

حال می­ خواهید بدانید که نام اولین ماده تشکیل ­دهنده ­ی اولین غذای موجود در این فایل چیست. برای این کار باید کد زیر را بنویسید:

string(doc ("recipes.xml" )//recipe[1]/ingredient[1]/@name)

اجرای این 1 خط کد، به شما خروجی روبرو را می ­دهد:                                  "beef cube steak"  

البته امکانات Xpath بسیار زیاد است و اینجا برای سادگی به ارائه همین مثال اکتفا می­­ کنم. اما برای کاربردهای واقعی باید با توابع مختلف و همچنین نحو آن کامل آشنا شوید. برای آشنایی کامل با Xpath از لینک زیر می­ توانید استفاده کنید.

https://www.w3schools.com/xml/xml_xpath.asp

موفق باشید...

 


http://fumblog.um.ac.ir/trackback.php?id=12389

XPath چیست؟

 

ارسال نظر
Info

توجه: از ارسال پيام هاي خصوصي در حالت لاگين براي نويسنده وبلاگ اجتناب نماييد.
در صورتی که در فرم ارسال نظر، نام شما توسط سیستم شناسایی شده باشد(در حالت لاگین) نظر شما بلافاصله منتشر خواهد شد.


در غیر اینصورت نظر شما پس از تایید توسط مالک وبلاگ منتشر خواهد شد.

 authimage