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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: rahmani در 30 شهریور 1392، 03:54 ب‌ظ

عنوان: بهم چسباندن عناصر یک XML code و ایجاد یک رشته
ارسال شده توسط: rahmani در 30 شهریور 1392، 03:54 ب‌ظ
سلام علیکم

یک 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;
}
جالب است بدانید وقتی از تابع استفاده می کنم اولین عنصر آرایه اصلا در رشته نیست و هنگامی که از این تابع استفاده نمی کنم عنصر اول دوبار در آرایه ذخیره می شود نم دانم چرا؟
آیا راه حل بهتری هم هست؟
پیشاپیش از لطف شما ممنونم
عنوان: پاسخ : بهم چسباندن عناصر یک XML code و ایجاد یک رشته
ارسال شده توسط: nixoeen در 30 شهریور 1392، 06:58 ب‌ظ
$creators = substr($creators,2);