شرح ساختار کدهای XML و ساخت یک فایل xml
فایلی که در آن، کدهای مربوط به زبان XML را می نویسیم، باید دارای پسوند xml باشد. البته این موضوع، یک قرارداد و یک استاندارد می باشد، نه یک اجبار. یعنی شما می توانید در سیستم طراحی شده توسط خودتان، کدهای XML را در هر فایل دلخواه یا به هر شکل دلخواه ثبت کنید، اما در سیستم های استاندارد، برای کار با کدهای XML ، پسوند xml برای فایل ها به کار می رود.
بنابراین یک فایل با نام دلخواه و پسوند xml می سازیم و سپس آن را توسط یک نرم افزار ویرایشگر متن (مثل Notepad ویندوز یا Adobe Dreamweaver) باز می کنیم و آنگاه باید کدهای مورد نظرمان را در آن بنویسیم و فایل را ذخیره کنیم.
به عنوان مثال، ما کدهای زیر را در یک فایل با نام kelidestan.xml می نویسیم :
در خط اول کدها، اعلام کرده ایم که این کدها، بر اساس xml نسخه 1.0 می باشند :
اگر قصد داشته باشیم که encoding مربوط به کاراکترها را هم ذکر کنیم، این خط می تواند به صورت زیر نوشته شود :
برای متن های فارسی، encoding برابر UTF-8 تعیین می شود.
بنابراین کل کدها، به صورت زیر می باشند :
پس از خط اول که مربوط به اعلان xml می باشد، اطلاعات مورد نظرمان را بر اساس یک تعداد تگ (tag) ذخیره کرده ایم :
ابتدا تگ با عنوان user (کاربر) را داریم که نشان می دهد در حال ذخیره اطلاعات مربوط به یک کاربر هستیم.
در واقع وقتی که می گوییم تگ user ، منظورمان یک تگ تنها نیست، بلکه یک ((زوج تگ)) می باشد. زیرا تگ user (یا در واقع زوج تگ user) دارای یک تگ شروع :
و همچنین دارای یک تگ پایانی می باشد (به علامت / دقت کنید) :
نام ذکر شده برای تگ شروع و تگ پایانی، حتما باید یکسان باشد. همچنین دقت داشته باشید که زبان XML به کوچک و بزرگ بودن حروف، حساس است، بنابراین مثلا زوج تگ زیر، صحیح نمی باشند (زیرا حرف اول تگ پایانی، با حرف بزرگ نوشته شده) :
در بین تگ شروع و تگ پایانی، اطلاعات مربوط به تگ user نوشته می شود. یعنی اطلاعات زیر :
بنابراین سه تگ (در واقع زوج تگ) با عنوان های name و age و city در آن تگ user قرار گرفته اند که نام (name) و سن (age) و شهر (city) مربوط به کاربر (user) در آنها ذخیره می گردد.
مقدار مربوط به هر تگ (زوج تگ)، بین تگ شروع و تگ پایانی ذکر شده است. مثلا برای زوج تگ name ، مقدار Ali را به صورت زیر تعیین کرده ایم :
پس با توجه به ساختار فوق، ما یک کاربر داریم که دارای نام Ali بوده و 28 سال سن دارد و ساکن شهر Tehran می باشد.
حال فرض کنید که قصد داریم اطلاعات دو کاربر (user) را در این فایل xml ذخیره کنیم. برای این منظور، کدهای xml را به صورت زیر می نویسیم :
مشاهده می کنید که برای افزودن یک کاربر (user) جدید، یک زوج تگ user را به کدهای xml اضافه کرده ایم و برای آن نیز، همان سه زوج تگ مربوط به ذخیره اطلاعات کاربر، ذکر شده است. علاوه بر این، هم زوج تگ user قبلی و هم زوج تگ user جدید، در زیرشاخه یک زوج تگ جدید با نام all-users قرار گرفته اند. دلیل آن را در نکته زیر نوشته ایم :
شاید این سوال برای شما پیش بیاید که چرا زوج تگ user جدید را به صورت زیر به کدهای XML اضافه نکردیم (کد زیر غلط است) :
کد XML بالا به این دلیل غلط است که در کدهای هر فایل xml ، ما تنها یک تگ ریشه (root) می توانیم داشته باشیم. یعنی ابتدا تنها یک تگ (tag) داریم و بعد سایر تگ ها (tag) در زیرشاخه های آن قرار می گیرند.
بنابراین همیشه این قاعده را در ذهن داشته باشید.