这是我的 XML 文件。它使用来自 Nvarchar 记录的 sql 数据源作为字符串从 sql 数据表中获取。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Artist.xsl"?>
<artists>
<artist>
<name>KATY PERRY</name>
<id>1</id></artist>
<artist>
<name>SNOOP DOGG</name>
<id>2</id>
</artist>
</artists>
XSL 样式表与 aspx 页面位于同一文件夹中,如下所示
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match ="/">
<html>
<body>
<h2>Artist</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="/artists/artist">
<tr>
<td>
<xsl:value-of select="name"/>
</td>
<td>
<xsl:value-of select="id"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我的 aspx 控件是带有以下标记的列表视图中的文字
<ItemTemplate>
<td runat="server" style="">
<asp:Literal ID="CoverartLabel" runat="server" Text='<%# Eval("Coverart") %>'></asp:Literal>
<a href="View.aspx/Album/<%# Eval("Id") %>"><%# Eval("Name") %></a>
<br />
<div>
<asp:Literal ID="ArtistsLabel" runat="server" Text='<%# Eval("Artists")%>' Mode="Encode"></asp:Literal>
<br />
</div>
<asp:Literal ID="SongsLabel" runat="server" Text='<%# Eval("Songs") %>'></asp:Literal>
<asp:Label ID="LikesLabel" runat="server" Text='<%# Eval("Likes") %>' />
<br />Comments:
<asp:Label ID="CommentsLabel" runat="server" Text='<%# Eval("Comments") %>' />
<br /></td>
</ItemTemplate>
当我运行页面时,我得到的输出为
有人可以帮我弄清楚为什么 xml 不显示为 html。我试过改变字面的 Artistlabel 模式,但没有运气。甚至使用 XSL 文件及其位置?