Ruby中的/ XML(XML)源文件中的变量扩展

时间:2008-11-14 00:36:18

标签: xml ruby

我想要一些稍微“动态”的XML源文件。我希望某些元素值是动态的,或者是“可扩展的”。

我从其他来源提供此变量的值。

@Name = 'freezingkiwis'

我想在XML文件中提供的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Contact>
    <Name>#{@Name}</Name>
    <Addresses />
    <Phones />
</Contact>

当打开/读取文件(可能是File.new或File.read)时,我想“扩展”以前设置的@Name变量。

有什么东西可以立即为我做,或者我将不得不解析这个XML(可能现在作为REXML :: Document)并自己手动执行此操作?

(即可能用此替换元素值......)

Ĵ

1 个答案:

答案 0 :(得分:2)

考虑使用ERB,一个在Rails中使用的Ruby模板引擎。然后,您可以在<% %>标记之间编写任何Ruby代码,包括变量替换。另一方面,如果用户可以编辑XML模板本身,请不要使用此解决方案 - 这将导致严重的安全漏洞。