انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: بهم چسباندن عناصر یک XML code و ایجاد یک رشته  (دفعات بازدید: 1839 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
سلام علیکم

یک code
$xml = new SimpleXMLElement($URL,null,true);
$str = $xml->asXML();
$xmlArray = new SimpleXMLElement($str);
داریم که مانند آرایه های تو در تو دارای شاخه زیر و شاخه است و با دستور
echo '<pre>'; print_r($xmlArray); echo '</pre>';به خوبی در مرورگر چاپ و نمایش داده می شود
[recordData] => SimpleXMLElement Object
                        (
                            [srw_dc] => SimpleXMLElement Object
                                (
                                    [title] => Patterson's allergic diseases /
                                    [creator] => Array
                                        (
                                            [0] => Patterson, Roy, 1926-
                                            [1] => Grammer, Leslie Carroll.
                                            [2] => Greenberger, Paul A.
                                        )

                                    [type] => text
                                    [publisher] => Philadelphia : Lippincott Williams & Wilkins,
                                    [date] => c2002.
                                    [language] => eng
                                    [description] => Array
                                        (
                                            [0] => Rev. ed. of: Allergic diseases : diagnosis and management / edited by Roy Patterson ; associate editors, Leslie Carroll Grammer, Paul A. Greenberger ; with 24 additional contributors. 5th ed. c1997.
                                            [1] => Includes bibliographical references and index.
                                        )

                                    [subject] => Array
                                        (
                                            [0] => Allergy.
                                            [1] => Hypersensitivity--diagnosis.
                                            [2] => Hypersensitivity--therapy.
                                        )
حال من می خواهم عناصر برخی زیرشاخه های این آرایه مانند  را که عبارت متنی است به صورت رشته در بیاورم.

بنابراین این code
foreach ($creator as $value) {
$creators .=', '.$value;
}
را نوشتم و برای تفکیک هر دو عنصر یک زیر شاخه از ویرگول و فاصله استفاده کردم اما این کار باعث می شود در آغاز رشته یک فاصله و ویرگول باشد که بی معنی است بنابراین عنصر اول آرایه را در متغیر creators ذخیره کردم و سپس با تابع unset آن را حذف کردم
 $creators = $creator[0];
unset($creator[0]);
foreach ($creator as $value) {
$creators .=', '.$value;
}
جالب است بدانید وقتی از تابع استفاده می کنم اولین عنصر آرایه اصلا در رشته نیست و هنگامی که از این تابع استفاده نمی کنم عنصر اول دوبار در آرایه ذخیره می شود نم دانم چرا؟
آیا راه حل بهتری هم هست؟
پیشاپیش از لطف شما ممنونم
« آخرین ویرایش: 30 شهریور 1392، 04:02 ب‌ظ توسط rahmani »
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آنلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
پاسخ : بهم چسباندن عناصر یک XML code و ایجاد یک رشته
« پاسخ #1 : 30 شهریور 1392، 06:58 ب‌ظ »
$creators = substr($creators,2);