@9StarRu

Как перейти к следующему объекту в xml после прочтения первого?

Получаю данные из XML файла и сохраняю в базу данных.

$read = simplexml_load_file($file); // получаем объект класса
$xml = $read->Category->Site; // $xml - объект-массив, вложенные теги - его свойства
$count = count($xml); // кол-во элементов массива

for($i = 0; $i < $count; $i++){
... код ...

$values .= "('$id_xml', '$date_xml','$title_xml','$link_xml'),";
/* заносим данные в БД если накопилось 1000 записей при подготовке запроса*/
if($i % 1000 == 0)
{
$values[strlen($values)-1]=' ';
$res = mysql_query("$Query $values $ODKU");
$values = "";
}

}
/* СОХРАНЯЮ В БАЗУ ПОЛУЧЕННЫЙ РЕЗУЛЬТАТ */
if(strlen($values)>0)
{
$values[strlen($values)-1]=' ';
/* заносим данные в БД */
$res = mysql_query("$Query $values $ODKU");    
}

echo 'Done';


Файл XML имеет следующий вид

<?xml version="1.0" encoding="UTF-8"?>
<Catalog>
<Category>
<Name>Категория 1</Name>
<Site>...</Site>
<Site>...</Site>
<Site>...</Site>
</Category>
<Category>
<Name>Категория 2</Name>
<Site>...</Site>
<Site>...</Site>
<Site>...</Site>
</Category>
<Category>
<Name>Категория 3</Name>
<Site>...</Site>
<Site>...</Site>
<Site>...</Site>
</Category>
</Catalog>


У меня все работает до тех пор, когда первая категория заканчивается, скрипт не переходит ко второй категории $xml = $read->Category->Site;
Как научить скрипт при завершении получения данных из первой категории, переходить к следующей и так до конца?

Помогите, пожалуйста!
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
@grinat
перебрать его надо
foreach($read->Category as $cat) {
$site = $cat->Site[0]
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы