Как настроить указатель результата объекта simpleXML? - PullRequest
1 голос
/ 04 октября 2019

После цикла по всему объекту XML с помощью цикла foreach:

foreach($xml->children() as $xml) {
    echo $xml->title...
}

Мне нужно повторить его снова, начиная с вершины.

Не имея лучшего способа, в настоящее время я unset объекта и снова получаю объект XML.

Я ищу правильный способ сделать это, возможно, похоже на использование $result->data_seek(0) для результатов запроса mysqli или reset($array) для массива.

1 Ответ

3 голосов
/ 04 октября 2019

Единственное, что мешает вам снова зацикливаться на данных, это то, как вы используете

foreach($xml->children() as $xml) {

, когда вы перезаписываете оригинальный документ с помощью as $xml. Поэтому, если вы измените имя этого поля (используя $child в этом примере), вы можете просто повторить его снова ...

foreach($xml->children() as $child) {
    echo $child->asXML().PHP_EOL;
}
foreach($xml->children() as $child) {
    echo $child->asXML().PHP_EOL;
}
...