Image 显示大小一致的新闻项图像的XSLT
我有一个RSS XML新闻文件,其中包含一个项目列表,其中包含一个指向图像的URL。我还有一个相关的XSLT 问题是图像大小不一致,我想将图像大小限制在一个漂亮的缩略图上,调整大小 我将如何修改XSLT来实现这一点 XML示例:Image 显示大小一致的新闻项图像的XSLT,image,xslt,image-resizing,image-size,Image,Xslt,Image Resizing,Image Size,我有一个RSS XML新闻文件,其中包含一个项目列表,其中包含一个指向图像的URL。我还有一个相关的XSLT 问题是图像大小不一致,我想将图像大小限制在一个漂亮的缩略图上,调整大小 我将如何修改XSLT来实现这一点 XML示例: <?xml version="1.0" encoding="UTF-8" ?> <rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0"> <channel>
<?xml version="1.0" encoding="UTF-8" ?>
<rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>Company Name</title>
<description>Company description</description>
<link>http://www.mycompanyurl.com</link>
<item>
<title>News Item Title</title>
<link>http://www.whateverurl.com/</link>
<category>Space</category>
<pubDate>12 April 1961</pubDate>
<description>Software to reduce your job search to a half hour per day. all major job sites, job boards, classifieds. unemployment paperwork, CRM, interviews, more</description>
<image>
<url>~/App_Data/NewsControl/whatever.png</url>
<title>Whatever1</title>
<link>javascript:void(0)</link>
</image>
<g:id>1</g:id>
<g:brand>Whatever2</g:brand>
<g:condition>whatever3</g:condition>
<g:price>$whatever4</g:price>
<g:product_type>Whatever5</g:product_type>
</item>
</channel>
</rss>
公司名称
公司名称
http://www.mycompanyurl.com
新闻标题
http://www.whateverurl.com/
空间
1961年4月12日
软件可以将你的求职时间减少到每天半小时。所有主要工作场所、工作公告栏、分类广告。失业文书、客户关系管理、面试等
~/App\u Data/newcontrol/whatever.png
什么
javascript:void(0)
1.
什么
什么
每4美元
什么
以下是相关的XSLT:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<items>
<xsl:for-each select="//item">
<item Name="{position()}" HeaderText="{title}" Text="{description}" NavigateUrl="{position()}" Date="{pubDate}" ImageUrl="{image/url}"/>
</xsl:for-each>
</items>
</xsl:template>
</xsl:stylesheet>
第一个答案的结果:
<items>
<xsl:for-each select="//item">
<item Name="{position()}" HeaderText="{title}" Text="{description}" NavigateUrl="{position()}" Date="{pubDate}" ImageUrl="/Tools/thumber.php?img={image/url}"/>
</xsl:for-each>
</items>
我做了这些更改,在服务器上启用了PHP(从服务器和本地测试),并发现了两个问题:
1.我没有图像,只是一个没有图像的盒子
<image>
<url>/Products/Jobfish/Images/Boxshots/Jobfish_DVDCaseCD_ShadowOut.jpg</url>
<title>Jobfish</title>
<link>javascript:void(0)</link>
/产品/Jobfish/Images/Boxshots/Jobfish_DVDCaseCD_ShadowOut.jpg
乔比什
javascript:void(0)
XSLT没有用于调整大小或缩略图的内置功能。您必须使用外部处理器来实现这一点,例如,使用PHP缩略图生成器 然后将原始图像路径替换为指向缩略图生成器的URL,源为原始图像 假设ImageUrl=mediaserver.xyz/ourlogo.jpg 新的ImageUrl将成为myserver.com/thumbnailgenerator.php?src=
请让舒尔选择缓存缩略图库(例如),因为如果你跳过这一点,这将是一个严重的资源消耗。在重新提供这些缩略图时也要考虑版权问题。谢谢你的建议。我下载了Thumber,并在我的帖子更新中添加了代码,但是我收到了VS抱怨&符号,更重要的是没有缩略图,只是没有ima更新:抱歉,我没有正确阅读您的问题:图像不在您的服务器上,建议的phpthumbmaker不是获取外部内容的正确php库。因此,请不要使用该库获取外部图像。另请参阅“如何获取外部站点的调整大小的图像?”?“StackOverflow问题目前所有图像都是本地的。在XML文件中,我使用了“/images/xxxxx.png”结构。这个
/Tools/thumber.php?img={image/url}
是错误的,您不能仅作为属性的一部分作为表达式计算-它应该是{concat('/Tools/thumber.php?img=',image/url)