从每个节点的 xml 生成文件


Generate files from xml for each node

我想从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);
}
?>

我可以在 for 循环中使用file_put_contents吗?

下面是 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->books[1]->link; 等时,它无需循环即可工作。

感谢:杰克

答案是:将$file[$i]更改为${"file$i"}