Генерация файлов из XML для каждого узла

0

Я хотел бы генерировать файлы из xml, я пробую это, но он не работает:

<?php
$file0 = "fle0.php";
$file1 = "fle1.php";
$file2 = "fle2.php";
$file3 = "fle3.php";
$file4 = "fle4.php";
$file5 = "fle5.php";
$file6 = "fle6.php";
$file7 = "fle7.php";
$file8 = "fle8.php";
$file9 = "fle9.php";
$html = "";
$url = "http://website.com/file.xml";
$xml = simplexml_load_file($url);
for($i = 0; $i < 10; $i++){
$link = $xml->books[$i]->link;
$title = $xml->books[$i]->title;
$html .= "<a href=\"$link\">$title</a>";
file_put_contents($file[$i], $html);
}
?>

Могу ли я использовать file_put_contents для цикла for?

Вот файл XML:

<response>

<books>
<link>http:/www.website.com/linktobook/1.html</link>
<title>Book Title 1</title>
<image>http:/www.website.com/linktobook/1.jpg</image>
</books>

<books>
<link>http:/www.website.com/linktobook/2.html</link>
<title>Book Title 2</title>
<image>http:/www.website.com/linktobook/2.jpg</image>
</books>

<books>
<link>http:/www.website.com/linktobook/3.html</link>
<title>Book Title 3</title>
<image>http:/www.website.com/linktobook/3.jpg</image>
</books>

</response>

Он работает без цикла, когда я использую $xml-> books [0] → link; и $xml-> книги [1] → ссылка; и т.п.

  • 0
    предоставить соответствующий файл file.xml для правильного тестирования кода и ответа от пользователей
  • 0
    $file[$i] не существует (это не массив), вы, вероятно, имели в виду ${"file$i"} .
Показать ещё 1 комментарий
Теги:
file

1 ответ

0

Благодаря: Джеку

Ответ: изменить $ file [$ i] на $ {"file $ i"}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню