更新:失败的案例
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd>
<title>Empire & Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
<catalog>
<cd>
<title>Empire & Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
您好我有以下XML
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
以下XSL翻译上面的
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
到目前为止,翻译工作正常。但是,如果我将XML标记值更改为包含&
或&
等编码字符,则表示我没有得到结果
如何逃避这些角色?
答案 0 :(得分:0)
您必须将&
更改为&
,这应该可以正常工作。因为看起来你已经尝试过了。您可以尝试&
和&
,它们分别是&
字符的十进制和十六进制unicode引用。
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd>
<title>Empire & or & Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
如果不能解决问题,我可以知道使用哪个XSLT处理器来产生输出吗?