0

我有一个从 XML 文件中获取的十六进制值,我正在尝试使用该十六进制值作为数据表的背景颜色。但是,在 IE8 中,它一直呈现为字符串。

当我用过

<%= h(@dhex1[k]) %>

它呈现为

<%hex>A8960A<%/hex> 带有十六进制标签(注意 % 符号是这样浏览器不认为它们是标签)

在浏览器中。我努力了

<td style="background-color:#<%=h(@dhex1[k].to_s)%>">    
<td style="background-color:#<%=h(@dhex1[k])%>">    
<td style="background-color:#<%=@dhex1[k]%>">
<td style="background-color:<%=@dhex1[k]%>">

但它不会呈现为背景颜色。十六进制标记值如何存储 XML 文档本身,我正在使用

@hex1 = XPath.match( xmldoc, "///hex" )

获取十六进制值,但它呈现为 A8960A。我需要改变什么?

4

1 回答 1

2

根据您的描述,它似乎@dhex1[k]包含了一个不需要的 xml 元素。在提取价值的地方摆脱它,如

@hex1 = XPath.match(xmldoc, '//hex/text()')

或以后,如

<td style="background-color:#<%= @dhex1[k].gsub(/<.+?>/, '') %>">
于 2010-07-25T08:24:50.110 回答