图像从xml到xslt

时间:2016-10-21 13:17:45

标签: xml xslt

我在这里遇到过类似的话题,但我找不到答案。我有这个xml代码:

<Content>
    <StringValue formatted="false" name="Single.graphic.component.title">
         <Value>title of the single graphic</Value>
    </StringValue>
    <ImageDataItem name="single.graphic.component.image"> 
         <Value>iVBORw0KGgoAAAANSUhEUgAAAYUAAADeCAI</value>
    </ImageDataItem>
    <StringValue formatted="false" name="single.graphic.component.source">
         <Value>someValue2</Value>
    </StringValue>
</Content>

我的xsl说

<p>Grafik 1:<xsl:apply-templates select="//StringValue[@name='Single.graphic.component.title']/Value/node()"/></p>

<p><xsl:apply-templates select="//StringValue[@name='single.graphic.component.source']/Value/node()"/></p>

它适用于两个文本,但不适用于图像(我知道代码不存在,但我已经尝试过了)。如果我写了一个ImageDataItem的值,则返回该字符串。有线索吗?

1 个答案:

答案 0 :(得分:1)

XPath中的图像元素名称错误。您还需要使用Data URI Schema来显示base64编码的图像。

试试这个......

<img>
  <xsl:attribute name="src">
    <xsl:text>data:image/png;base64,</xsl:text>
    <xsl:value-of select="//ImageDataItem[@name='single.graphic.component.source']/Value"/>
  </xsl:attribute>
</img>