children
تابع children() فرزندهای XML را می دهد. «فرزند XML» یعنی Child Node داخل تگ والد. مثل برگه های داخل یک پوشه. با این تابع، متن و گره های داخلی را به سادگی مرور می کنی.
تعریف و کاربرد children
تابع children() فرزندهای یک گره مشخص را برمی گرداند. می توانی فضای نام (Namespace) را هم تعیین کنی و خروجی را فیلتر کنی.
نگارش (Syntax)
SimpleXMLElement::children(ns, prefix)
اگر prefix برابر TRUE باشد، ns پیشوند است. در غیر این صورت، آدرس فضای نام است.
مثال 1: فرزندهای گره <note>
XML را بساز. سپس بارگذاری کن. بعد با children() پیمایش کن.
<?php
$note = <<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Do not forget me this weekend!</body>
</note>
XML;
$xml = simplexml_load_string($note);
foreach ($xml->children() as $child) {
echo "Child node: " . $child . "<br>";
}
?>
مثال 2: فرزندهای داخل <body>
گاهی متن و تگ باهم هستند. باز هم می توانی فرزندهای تگی مثل <span> را بگیری.
<?php
$note = <<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body><span>Important!</span> Do not forget me this weekend!</body>
</note>
XML;
$xml = simplexml_load_string($note);
foreach ($xml->body[0]->children() as $child) {
echo "Child node: " . $child . "<br>";
}
?>
گام های عملی سریع
- XML را با
simplexml_load_stringبارگذاری کن. - گره والد را انتخاب کن؛ مثل
$xmlیا$xml->body[0]. children()را صدا بزن و روی نتیجه حلقه بزن.- متن یا گره فرزند را چاپ یا پردازش کن.
نکته ها و پیوندها
نکته: خروجی children() یک شی SimpleXMLElement قابل پیمایش است.
نکته: برای ایجاد گره جدید از افزودن فرزند (addChild) استفاده کن. برای دیدن ویژگی ها از attributes کمک بگیر. برای خروجی گرفتن XML هم asXML را ببین.
منبع: W3Schools: children() · مرجع کلی: SimpleXML Reference
جمع بندی سریع
children()فرزندهای یک گره را می دهد.- می توانی فضای نام را فیلتر کنی.
- حلقه روی خروجی بسیار ساده است.
- برای ساخت گره، از
addChildاستفاده کن.