在我的xml数据中,有一个节点包含视频播放器的嵌入脚本
如何将其放入我的xsl文件?
带有‘’video-player‘’的xml部分:
<post>
<video-player><span id="video_player_6108595387">[<a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" target="_blank">Flash 10</a> is required to watch video.]</span><script type="text/javascript">renderVideo("video_player_6108595387",'http://mydomain.tumblr.com/video_file/6108595387/tumblr_lm64ngkwu81qjb4vj',400,225,'poster=http%3A%2F%2Fmedia.tumblr.com%2Ftumblr_lm64ngkwu81qjb4vj_frame1.jpg,http%3A%2F%2Fmedia.tumblr.com%2Ftumblr_lm64ngkwu81qjb4vj_frame2.jpg,http%3A%2F%2Fmedia.tumblr.com%2Ftumblr_lm64ngkwu81qjb4vj_frame3.jpg,http%3A%2F%2Fmedia.tumblr.com%2Ftumblr_lm64ngkwu81qjb4vj_frame4.jpg,http%3A%2F%2Fmedia.tumblr.com%2Ftumblr_lm64ngkwu81qjb4vj_frame5.jpg')</script></video-player>我的xsl尝试使用‘’video-player‘’失败:
<div><xsl:value-of select="video-player" disable-output-escaping="yes"/></div>使用带有''audio-player'‘的节点可以很好地工作。
带有音频播放器的xml部分:
<audio-player><embed type="application/x-shockwave-flash" src="http://assets.tumblr.com/swf/audio_player.swf?audio_file=http://www.tumblr.com/audio_file/5046352702/tumblr_lkffpeQVub1qjb4vj&color=FFFFFF" height="27" width="207" quality="best"></embed></audio-player>使用''audio-player'‘的xsl
<div><xsl:value-of select="audio-player" disable-output-escaping="yes"/></div>发布于 2011-06-04 03:44:42
显然,您试图将<video-player>元素及其内容(<span>等)复制到输出HTML。为此,请使用<xsl:copy-of>而不是<xsl:value-of>。后者将其参数计算为字符串,并接受所有后代文本节点的连接。前者复制其参数的元素/子结构。
因此,您需要:
<div><xsl:copy-of select="video-player" /></div>我建议不要使用disable-output-escaping,除非你知道自己在做什么。这通常是一个信号,表明有人不理解标记和文档结构之间的区别,所以他们使用锤子在螺丝上打钉。
使用<xsl:value-of>复制<audio-player>的样例XSL应该只输出<audio-player>元素的文本内容,即什么也不输出。
https://stackoverflow.com/questions/6228610
复制相似问题