我在扩展名为.tpl(Smarty模板)的文件中有以下代码
{foreach from=$randomSites value=site}
<a href="{$site|objurl:'siteDetails'}" title="{$site.siteTitle}" >
<img alt="{$site.siteTitle}" src="{$site.imageSrc}" class="random_image" />
</a>
{/foreach}
它会生成一个包含缩略图的网站列表..
是否可以将此代码转换为带有simplexml类或类似内容的XML文件?
我必须先用PHP代码转换?
答案 0 :(得分:1)
你有两个选择。首先,您可以使用Smarty模板来创建XML,如下所示:
<sites>
{foreach from=$randomSites value=site}
<site>
<url>{$site|objurl:'siteDetails'|escape:'url'}</url>
<title>{$site.siteTitle|escape}</title>
<image-url>{$site.imageSrc|escape:'url'}</image-url>
</site>
{/foreach}
</sites>
其次,正如您所建议的那样,您可以在内存中的SimpleXML或DOM等库中构建XML树,然后将其序列化为磁盘。好处是库可以防止任何XML标记错误;缺点是非XML专家很难根据库调用来描绘输出的样子。