getchildren
تابع getChildren() در SimpleXMLIterator همه بچه های یک عنصر را می دهد. «بچه عنصر (Child)» یعنی برچسب های داخل آن عنصر. اینجا با تمرکز بر «گرفتن فرزندهای XML» جلو می رویم.
تعریف کوتاه و کاربرد
getChildren() فرزندهای عنصرِ جاری را بازمی گرداند. سپس می توانی نام هر فرزند و مقدارش را بخوانی.
سینتکس
SimpleXMLIterator::getChildren() هیچ آرگومانی نمی گیرد و یک SimpleXMLIterator شامل فرزندها برمی گرداند.
مثال ساده
<?php
$bookxml = <<<XML
<bookstore>
<book>
<title>Everyday Italian</title>
<author>Giada De Laurentiis</author>
</book>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
</book>
<book>
<title>Learning XML</title>
<author>Erik T. Ray</author>
</book>
</bookstore>
XML;
$xml = new SimpleXMLIterator($bookxml);
for ( $xml->rewind(); $xml->valid(); $xml->next() ) {
foreach ( $xml->getChildren() as $name => $data ) {
echo "The $name is '$data'";
echo "<br>";
}
}
?>
گام های عملی
- XML را در
SimpleXMLIteratorبارگذاری کن. - با
rewind()به اولین عنصر برو. - با
getChildren()فرزندها را بگیر. - با
foreachنام و مقدارشان را چاپ کن.
نکته ها و لینک های مفید
نکته: اگر چیزی برنگشت، بررسی کن عنصر جاری فرزند داشته باشد.
نکته: برای حرکت بین عناصر از next() و بازگشت از rewind() استفاده کن.
نکته: برای «گرفتن فرزندهای XML» در مسیرهای خاص، از xpath() کمک بگیر.
جمع بندی سریع
getChildren()فقط فرزندهای عنصر جاری را می دهد.- معمولاً قبلش
rewind()را صدا بزن. - برای پیمایش از
foreachاستفاده کن. - نیاز به ورودی ندارد و یک Iterator برمی گرداند.