simplexml چیست؟
SimpleXML چیست؟
SimpleXML یک روش جدید برای خواندن خصوصیات و متن یک عنصر در PHP5 فراهم می کند. (البته اگر طرح بندی سند XML را بدانید)
SimpleXML در مقایسه با تجزیه کننده DOM یا Expat با کد کمتری به اطلاعات عناصر دسترسی پیدا می کند.
SimpleXML یک سند XML را به یک شی تبدیل می کند:
- عناصر: بوسیله شیء SimpleXMLElement به یک سری خصوصیات تنها تبدیل می شوند، زمانی که در یک سطح، بیش از یک عنصر وجود دارد، از آرایه ها استفاده می شود.
- خصوصیات: خصوصیات عناصر در یک آرایه انجمنی(PHP Arrays) قابل دسترسی است، نام خصوصیت ایندکس آرایه است.
- اطلاعات عنصر: متن اطلاعات عنصر به یک رشته تبدیل می شود، اگر یک عنصر بیش از یک متن داشت، آنها را به ترتیبی که پیدا کرده می چیند.
برای موارد پایه ای شبیه زیر، استفاده از SimpleXML بسیار ساده و سریع است:
- خواندن یک فایل XML
- استخراج اطلاعات از یک رشته XMLی
- ویرایش متن یا مشخصه های یک عنصر
نکته: زمانی که با یک فایل XML پیشرفته شبیه namespaceها سروکار دارید بهتر است که از تجزه کننده های Expat یا DOM استفاده کنید.
نصب SimpleXML
توابع تجزیه کننده SimpleXML قسمتی از هسته PHP 5.0 هستند و نیازی به نصب وجود ندارد.
چگونه از SimpleXML استفاه کنیم
لطفاً به فایل XML زیر توجه کنید:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
می خواهیم نام و متن اطلاعات هر عنصر را در خروجی چاپ کنیم.
راه حل؟
- فایل XML را لود کنید.
- نام اولین عنصر را بخوانید.
- یک حلقه روی هر نود(فرزند) ایجاد کنید و برای خواندن اطلاعات هر نود(فرزند) از تابع ()children استفاده کنید.
- برای هر نود(فرزند) نام عنصر و متن اطلاعات آنرا چاپ کنید.
مثال:
<?php
$xml = simplexml_load_file("test.xml");
echo $xml->getName() . "<br />";
foreach($xml->children() as $child)
{
echo $child->getName() . ": " . $child . "<br />";
}
?>
خروجی کد بالا:
note
to: Tove
from: Jani
heading: Reminder
body: Don't forget me this weekend!
برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 16692
دیدگاهها
سلام و خسته نباشید خدمت شما.ممنونم از سایت خوبتون و مهمتر از اون پاسخگویی شما.بنده از همین سایت مطالب مربوط به وب رو مطالعه کردم و بسیار هم عالی هست.اما موردی که الان درگیرش هستم رو تو سایت پیدا نکردم.میخوام از mysqli خروجی اکسل و pdf بگیرم.اما جایی پیدا نکردم.تو نت چندین کتابخانه معرفی شده ولی منابعش خیلی مبهم توضیح دادن.میخواستم منبع خوبی که بشه ازش استفاده کرد رو معرفی کنید که مثل شما قدم به قدم و خوب توضیح بده.احتمالا خیلیا مثل بنده دنبال این موضوع هستن که تو سایتشون این آپشن رو هم بذارن.بازم ممنون که وقت میذارید.
خیلی خوب ممنون