2015-09-15 113 views
1

这个问题是关于GSL代码生成器:https://github.com/imatix/gsl如何包含另一个XML文件

比方说,我有一个包含所有的“链接”我想包括我的网站上的XML文件:

<link icon="facebook" name="Facebook" url = "http://www.facebook.com/blah" /> 
<link icon="camera" name="Youtube" url = "http://www.youtube.com/user/blah" /> 
<link icon="film" name="Picasa" url = "http://picasaweb.google.com/323423" /> 
<link icon="twitter" name="Twiter" url = "http://twitter.com/blah" /> 

如何加载该文件并呈现链接?

我试着在GSL脚本如下:

links = xml . load_file("links.xml") 

,然后这在我的模板:

.for site.link 
     <li><i class="icon-$(link.icon)"></i> 
     <a href="$(link.url)">$(link.name)</a> 
.endfor 

但结果却是一无所获。

因为我这个完整的源代码是在一个小的回购: https://bitbucket.org/drozdyuk/fruits-sample/src/07efb4910bde?at=master

回答

1

试试这个:

<links> 
    <link .../> 
    <link .../> 
</links> 

然后:

global.links = xml.load_file ("links.xml") 
for links.link 
    .... 
endfor 
+0

活泉,即作品!我还需要在'gsl from'template.gsl“'之前放置'load_file(”links.xml“)'调用。 Repo更新。 – drozzy

+0

太棒了! xml.load_file调用会返回一个项目,所以您希望始终使用格式良好的XML(具有单个顶级项目)。通过加载到全局范围,您可以获得多个可以使用的顶级项目。 –

相关问题