使用XSLT将RSS发送到XHTML-如何删除奇怪字符?
我正在使用XSLT转换XHTML中的RSS文件。 为了创建链接,我使用以下代码块:使用XSLT将RSS发送到XHTML-如何删除奇怪字符?,xslt,xhtml,rss,href,Xslt,Xhtml,Rss,Href,我正在使用XSLT转换XHTML中的RSS文件。 为了创建链接,我使用以下代码块: <!-- language: lang-xml --> <xsl:for-each select="channel/item"> <h3><a href="{link}"><xsl:value-of select="title"/></a></h3> <xsl:value-of select="descripti
<!-- language: lang-xml -->
<xsl:for-each select="channel/item">
<h3><a href="{link}"><xsl:value-of select="title"/></a></h3>
<xsl:value-of select="description"/>
</xsl:for-each>
但结果会带来一些不需要的字符:
<!-- language: lang-html -->
<h3><a href="%0A http://site.com/page.htm%0A ">
我做错了什么?提前感谢您的帮助。看起来源代码中有URL编码的换行符和一些空格。可以使用normalize-space()函数剥离前导和尾随空格。其他东西可能更复杂,这取决于它的规则性以及您使用的XSLT版本。如果URL始终以“%0A”结尾,则可以执行以下操作:
substring-before(substring-after(link, 'http'), "%")
normalize-space(replace(link, '%0A', ''))
只有当您的URL中永远不会有URL编码的数据时(这可能不是一个安全的假设),这才会一直有效。如果您使用的是XSLT 2.0,则类似于:
substring-before(substring-after(link, 'http'), "%")
normalize-space(replace(link, '%0A', ''))
可能会更好。请编辑问题并添加要转换的XML,好吗?我使用以下XML:Thanks@andre仔细阅读andyb的请求。