-1

我有以下 xml 文件代码(来自翻页),想知道是否可以使用 php while 循环在 xml 文件中生成代码,而不必手动从 pages/ab74 输入到 pages/ab98?

<page src="pages/ab62.jpg"/>
<page src="pages/ab63.jpg"/>
<page src="pages/ab64.jpg"/>
<page src="pages/ab65.jpg"/>
<page src="pages/ab66.jpg"/>
<page src="pages/ab67.jpg"/>
<page src="pages/ab68.jpg"/>
<page src="pages/ab69.jpg"/>
<page src="pages/ab70.jpg"/>
<page src="pages/ab71.jpg"/>
<page src="pages/ab72.jpg"/>
<page src="pages/ab73.jpg"/>
<page src="pages/ab74.jpg"/>

4

5 回答 5

5

绝对地。如果你想经常这样做,你必须将内容类型设置为 xml 并使用 URL 重写来允许你的 file.xml 指向一个实际的 .php 文件。

<?php for ($i = 74; $i <= 98; $i++): ?>
<page src="pages/ab<?php echo $i; ?>.jpg"/>
<?php endfor; ?>
于 2012-09-23T21:28:11.457 回答
1

这只是一些输出操作:

$image = "<page src=\"pages/ab%d.jpg\"/>\n";
foreach (range(62, 74) as $number) {
    printf($image, $number);
}
于 2012-09-23T21:43:46.287 回答
1

从字面上回答你的问题,是的,这是可能的。如果这就是您的 XML 的全部内容(不应该是因为它缺少根节点),那么您只需要使用for()循环。否则,请查看 PHP SimpleXML库。

于 2012-09-23T21:28:23.690 回答
1

你可以简单地做到这一点

$page = "<page src=\"pages/ab%d.jpg\"/>";
for($i = 62 ; $i <= 98; $i++)
{
    printf($page,$i);
}

创建翻页配置文件的完整示例

$xmlFile = "xml/Pages.xml";
$xml = '<content width="600" height="800" bgcolor="cccccc" loadercolor="ffffff" panelcolor="3a6dac" buttoncolor="3a6dac" textcolor="d0e5f7">';
$page = "<page src=\"pages/ab%d.jpg\"/>\n";
for($i = 62 ; $i <= 98; $i++)
{
    $xml .= sprintf($page,$i);
}
$xml .= '</content>' ;
$xml = new SimpleXMLElement($xml);
$xml->saveXML($xmlFile);
于 2012-09-23T21:29:06.003 回答
1

你是这个意思吗?:

<?php
for($i=75;$i<=98;$i++)
{
    echo '<page src="pages/ab' . $i . '.jpg"/>' . "\n";
}
于 2012-09-23T21:29:52.327 回答