آرین خسروی
آرین خسروی
خواندن ۱۰ دقیقه·۲ سال پیش

زبان xml چیست؟

شاید برای شما نیز پیش آمده باشد، که در پوشه دانلود های خود، با فایل هایی با پسوند .xml مواجه شده باشید. در این مقاله قصد داریم، که شما را با فایل های XML و کاربردی که در دنیای وب دارند، آشنا کنیم. XML یا Extensible Markup Language یکی از زبان های نشانه گذاری است، که به منظور نگهداری و انتقال داده ها در پلتفرم های مختلفی مورد استفاده قرار می گیرد، و عملکردی شبیه به JSON دارد. در ادامه مقاله، توضیحات بیشتر در خصوص کاربرد آن، نحوه عملکرد و تفاوت هایی که با HTML دارد، بیشتر توضیح خواهیم داد.

زبان XML چیست و چه کاربردی دارد؟

زبان XML مخفف Extensible Markup Language یک زبان نشانه گذاری قابل گسترش است، که راهکاری برای جایجایی اسناد در برنامه های مختلف می باشد. پسوند فایل ها آن .xml می باشند، و کاربردی مشابه کد های HTML دارند.

به طور دقیق تر می توان گفت کار اصلی کد های xml انتقال داده ها و نه نمایش آن ها می باشد و تمرکز اصلی این زبان نشانه گذاری بر سادگی است. این زبان در دهه 90 توسط کنسرسیوم شبکه جهانی وب یا W3C ایجاد گردیده است.

پس می توانیم ذکر کنیم XML همه چیز را ساده می کند:

  • اشتراک گذاری داده ها
  • انتقال داده ها
  • تغییرات پلتفرم
  • دسترسی داده ها
علاوه بر تمام این موارد، با استفاده از زبان XML می توانیم، داده ها را بین انواع سیستم عامل ها، فارق از نوع سخت افزار و نرم افزار، حمل و اشتراک گذاری کنیم.

تفاوت XML و HTML

پس می توانیم ذکر کنیم XML و HTML هر کدام برای اهداف مشخصی طراحی شده اند، بدین صورت که از XML برای تمرکز بر نوع داده ها و حمل داده ها، و از HTML برای تمرکز بر نحوه نمایش داده ها استفاده می شود. کد های زبان XML از پیش تعریف شده نمی باشند، بنابراین برنامه نویس می تواند، بسته به نیاز خود، کد های مورد نیاز را بنویسد.

همچنین می توانیم ذکر کنیم HTML یا Hypertext Markup Language به منظور ایجاد صفحات وب و نمایش در مرورگر ها طراحی شده است. تگ ها در این زبان از پیش تعریف شده هستند، و برنامه نویس از همان کدها استفاده می کند. این در حالی است، که در زبان xml هیچ کد از پیش تعریف شده ای وجود ندارد.

  • HTML ایستا و XML کاملاً پویا است.
  • XML تکمیل کننده HTML است.
  • کد های XML با وجود حتی یک خطا اجرا نمی شوند، اما کد های HTML با وجود خطاهای کوچک اجرا می شود.
  • XML فقط برای حمل داده ها استفاده می شود، HTML برای نمایش و طراحی استفاده می شود.
  • تگ ها در HTML از پیش تعریف شده اند، در XML باید تگ ها نوشته شوند.
  • در HTML تعداد محدودی تگ برای استفاده تعریف شده اند، در XML محدودیتی وجود ندارد.
  • در XML حتماً تگ انتها باید درج شود، در HTML تگ انتها نباشد، مشکلی ندارد.
  • فضاهای سفید در XML حفظ می شوند، در حالیکه در HTML حفظ نمی شود.

قوانین XML چه هستند؟

همانطور که می دانید، زبان XML مبتنی بر سادگی می باشد، بنابراین قوانین آن نیز بسیار ساده می باشند. در مثال زیر:

همانطور که مشاهده می کنید، تمامی تگ ها بسیار ساده، و دارای تگ انتهایی نیز می باشند. تمامی حروف کد ها در زبان XML با حروف کوچک انگلیسی نوشته می شوند، تا سادگی مورد انتظار آن حفظ گردد.

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

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

اسناد XML  در یک ساختار درختی شکل می گیرند. یک درخت XML از یک عنصر ریشه شروع می شود و از ریشه به عناصر فرزند انشعاب پیدا می کند. هر عنصر می تواند یک عنصر فرعی دیگر (عناصر فرزند) داشته باشد:

چطور یک فایل با پسوند xml را باز کنیم؟

فایل های XML را می توانیم با برنامه های متنوعی باز کنیم. برای باز کردن اینگونه فایل ها مراحل زیر را انجام می دهیم:

  1. بر روی فایل ایکس ام ال خود راست کلیک می کنیم، از منوی باز شده زیرمنوی Open With را انتخاب می کنیم.
  2. هم اکنون برنامه ای که می خواهیم را از لیست انتخاب می کنیم. این فایل ها با انواع ویرایشگر های متنی مثل notepad یا notepad++ یا انواع مرورگر های وب مثل chrome یا Mozilla قابل باز شدن  می باشند.

در دنیای رایانه‌ها فایل‌هایی با پسوند XML. وجود دارند که در این مطلب می‌خواهیم با آن‌ها آشنا شویم. عبارت XML مخفف «Extensible Markup Language» و به معنای «زبان نشانه‌گذاری گسترش‌پذیر» است. XMLها در واقع فایل‌هایی هستند که از متن خالص تشکیل می‌شوند و شامل برچسب‌های سفارشی (Tag) هستند که ساختار و ویژگی‌های اسناد دیگر را مشخص می‌کنند.

پس می توانیم ذکر کنیم: XML یک زبان نشانه‌گذاری است که توسط کنسرسیوم شبکه‌ی جهانی وب (W3C) ساخته شده است تا راهی برای ساخت اسنادی به وجود بیاورد که هم برای انسان و هم برای ماشین قابل فهم باشد. این کار از طریق برچسب‌هایی انجام می‌شود که ساختار سند و نحوه‌ی ذخیره‌سازی و انتقال آن را مشخص می‌کنند.

شاید بهتر باشد آن را با زبان نشانه‌گذاری دیگری مقایسه کنیم که احتمالا به آن آشنا هستید؛ زبان نشانه‌گذاری فرامتن یا HTML که از ان برای کد گذاری صفحات وب استفاده می‌شود. HTML از یک سری علامت‌های نشانه‌گذاری از قبل تعریف شده برای مشخص کردن قالب محتوای صفحات وب استفاده می‌کند. برای مثال، کد زیر از تعدادی تگ برای بولد کردن یا کج کردن برخی حروف استفاده کرده است:

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

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

چگونه یک فایل XML را باز کنیم؟

برای باز کردن فایل‌های XML راه‌های متفاوتی وجود دارد. این فایل‌ها را می‌توانید با هر ویرایشگر متنی باز کنید، در هر مرورگری مشاهده نمایید یا حتی در وبسایت‌های مخصوصی آن‌ها را مشاهده، ویرایش یا حتی به سایر فرمت‌ها تبدیل کنید.

استفاده از ویرایشگر فایل در صور‎ت استفاده‌ی زیاد از فایل‌های XML

از آنجایی که فایل‌های XML تنها متن هستند، می‌توانید به سادگی از هر ویرایشگر متنی برای مدیریت آن‌ها استفاده کنید. مساله‌ای که وجود دارد تعداد زیاد ویرایشگرهای متن است که برای کار با ساختار XML طراحی نشده‌اند. شاید نرم‌افزاری نظیر «Notepad» برای باز کردن و بررسی کلی یک فایل XML مناسب باشد، ولی قطعا نرم‌افزارهای بهتری هم برای این کار وجود دارند.

بر روی فایل XML راست کلیک کرده و از قسمت «Open With» نرم‌فزار «Notepad» را انتخاب نمایید.

توجه داشته باشید که ما در این مثال از ویندوز استفاده کرده‌ایم، ولی در هر سیستم‌عاملی که باشید قطعا ابزارهایی برای مدیریت فایل‌های متنی وجود دارد. همچنین می‌توانید به دنبال ابزارهای شخص ثالث مناسب سیستم‌عامل خود نیز بگردید.

اینک فایل XML شما باز خواهد شد، ولی همانطور که مشاهده می‌کنید، قالب‌بندی مناسبی نداشته و کل محتوای آن در چند خط طولانی نمایش داده شده‌اند.

پس با این که «Notepad» برای بررسی سریع و کلی یک فایل XML می‌تواند مناسب باشد، ولی قطعا با استفاده از ابزارهای پیشرفته‌تری نظیر «++Notepad» وضعیت بهتری خواهید داشت. در تصویر زیر مشاهده می‌کنید که همان فایل را در «++Notepad» باز کرده‌ایم:

استفاده از مرورگر وب برای مشاهده‌ی داده‌های ساختار یافته

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

اگر از این طریق موفق به اجرای آن نشدید، می‌توانید بر روی فایل خود راست کلیک کرده و از طریق منوی «Open With» مرورگر مورد علاقه‌ی خود را برگزینید. در این مثال ما از «Google Chrome» استفاده کرده‌ایم.

پس از باز کردن فایل، محتوای آن را با ساختاری بسیار زیبا مشاهده خواهید کرد. مسلما خروجی آن به زیبایی چیزی مثل کدهای رنگ بندی شده در «++Notepad» نخواهد بود، ولی بسیار بهتر از خروجی «Notepad» است.

استفاده از ویرایشگر آنلاین برای مشاهده، ویرایش یا تبدیل فایل‌های XML

اگر گاها نیاز به ویرایش فایل‌های XML دارید و نمی‌خواهید یک ویرایشگر متن جدید دانلود کنید، یا اگر قصد تبدیل فرمت فایل XML به فرمتی دیگر را دارید، چند وبسایت وجود دارند که ابزارهای مورد نیاز برای کار بر روی XMLها را به صورت رایگان در اختیارتان قرار می‌دهند. «TutorialsPoint.com» ،«XMLGrid.net» و «CodeBeautify.org» هر سه به شما اجازه‌ی ویرایش فایل‌های XML را می‌دهند. پس از این که کار ویرایشتان به اتمام برسد، می‌توانید فایل XML جدید را دریافت کرده و یا حتی آن را با فرمت دیگری دانلود نمایید.

برای مثال ما از وبسایت CodeBautify.org استفاده می‌کنیم. صفحه به سه بخش تقسیم شده است. در سمت چپ فایل XML خود را مشاهده می‌نمایید. در وسط صفحه چندین گزینه در اختیارتان قرار دارد. در سمت راست نیز نتیجه‌ی برخی از گزینه‌ها را می‌بینید. برای مثال، در تصویر زیر فایل XML کامل ما در سمت چپ قرار دارید و پس از زدن گزینه‌ی «Tree View»، خروجی آن به صورت درختی در سمت راست نمایش داده می‌شود.

گزینه‌های موجود در صفحه به طور کامل در زیر آمده‌اند.

از گزینه‌ی «Browse» برای آپلود فایل XML جدید، و از گزینه‌ی «Load URL» برای بارگذاری یک فایل XML از یک منبع آنلاین استفاده کنید.

همانطور که در بالا مشاهده کردید، دکمه‌ی «Tree View» داده‌های ما را با ساختاری درختی و زیبا به ما نشان می‌دهد. در این حالت تمام تگ‌ها در سمت چپ با رنگ نارنجی، و مقادیر آن‌ها در سمت راست با رنگ مشکی نمایش داده می‌شوند.

گزینه‌ی «Beautify» داده‌های ما را به ساختاری زیبا و خوانا تبدیل کرده و در پنل نتایج (پنل سمت راست) نمایش می‌دهد.

گزینه‌ی «Minify» داده‌های شما را با حداقل فاصله در میان آن‌ها نمایش می‌دهد. این گزینه تمام تلاش خود را می‌کند تا تمام داده‌های شما را در یک خط خلاصه کند. این گزینه زمانی کاربرد دارد که قصد کوچک کردن حجم فایل را داشته باشید. البته درست است که این گزینه در فضا صرفه‌جویی می‌کند، ولی این قضیه به قیمت کاهش خوانایی فایل تمام خواهد شد.

در نهایت نیز می‌توانید با استفاده از گزینه‌ی «XML to JSON» فایل XML را به فایل «JSON» تبدیل کنید. دکمه‌ی «Export to CSV» به شما اجازه‌ی ذخیره‌ی داده‌ها در فایل‌های «CSV» را می‌دهد. در ادامه نیز با کلیک بر روی دکمه‌ی «Download» می‌توانید فایل خود را با تمام تغییراتی که در آن اعمال کرده‌اید دانلود نمایید.


جمع بندی

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

زبان xmlبرنامه نویسچند رسانه ای
excellent computer engineering student | swimmer and badmintonistttttt
شاید از این پست‌ها خوشتان بیاید