在我的XML文档中,我正在提取包含图像的<TextBlock>
的内容。 XML显示:
<img src="/templates_soft/images/facebook.png" alt="twitter" />
当我查看页面时,图像不会显示,因为它与原始页面的路径不同。
我需要添加要显示的图像的其余URL。类似于http://www.mypage.com/的内容,以便从http://www.mypage.com/templates_soft/images/facebook.png
显示图片有办法做到这一点吗?
答案 0 :(得分:2)
使用强>:
<img src="{$imageBase/}templates_soft/images/facebook.png" alt="twitter" />
其中名为$imageBase
的xsl:变量被定义为包含必要的前缀(在您的情况下为"http://www.mypage.com"
)。
这是一个完整的XSLT解决方案:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:param name="pimageBase" select="'http://www.mypage.com'"/>
<xsl:template match="img">
<img src="{concat($pimageBase, @src)}" alt="{@alt}"/>
</xsl:template>
</xsl:stylesheet>
将此转换应用于以下XML文档:
<img src="/templates_soft/images/facebook.png" alt="twitter" />
产生了想要的正确结果:
<img src="http://www.mypage.com/templates_soft/images/facebook.png" alt="twitter"/>
答案 1 :(得分:0)
如果您使用XSLT,只需创建一个包含整个URL的XML,然后标记XSLT,使其包含XML文件中原始字段的“指针”。如果你绑定到一个控件,比如一个Grid,你可以行绑定并在那时添加信息,如果它比XSLT更容易。