这看起来像是 XSLT 的完美候选 - XML 干净且格式良好。如果您担心浏览器兼容性,为什么不在服务器端进行转换呢?
此 XSLT 将转换您的数据 - 您可以在此处对其进行测试:
源数据:
<Artists>
<Artist name="Syd Mead" id="3412" ntrack="28" pop="8"/>
</Artists>
XSLT:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="Artists/Artist">
<a href="#">
<xsl:attribute name="data-id">
<xsl:value-of select="@id"/>
</xsl:attribute>
<xsl:attribute name="data-ntrack">
<xsl:value-of select="@ntrack"/>
</xsl:attribute>
<xsl:attribute name="data-pop">
<xsl:value-of select="@pop"/>
</xsl:attribute>
<xsl:attribute name="data-name">
<xsl:value-of select="@name"/>
</xsl:attribute>
<xsl:attribute name="class">
<xsl:value-of select="concat('pop-',@pop)"/>
</xsl:attribute>
<span><xsl:value-of select="@name"/></span>
</a>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
我还没有在客户端这样做,所以很遗憾我不能谈论浏览器的兼容性。