如何使用 XSL 获取 XML 元素的值
How to get value of XML element using XSL
我有一个XML和XSL代码,产品有图片和描述。我想将此图像附加到描述标签中。
<images>
<img_item type_name="">http://www.example.com.tr/ExampleData/example1.jpg</img_item>
<img_item type_name="">http://www.example.com.tr/ExampleData/example2.jpg</img_item>
<img_item type_name="">http://www.example.com.tr/ExampleData/example3.jpg</img_item>
</images>
我这样写 XSL 代码(但它没有得到 img_type 的值):
<Description>
<xsl:for-each select="images/img_item">
<xsl:text><![CDATA[<br/><img src="]]></xsl:text>
<xsl:value-of select="images/img_item"/>
<xsl:text><![CDATA[" />]]></xsl:text>
</xsl:for-each>
</Description>
我的代码不起作用。我如何获得 img_type 的价值(我如何获得这些链接。)
您没有获得价值的原因是因为已经定位在 img_item
上,而您的 xsl:value-of
select 将与此相关。所以你只需要这样做...
<xsl:value-of select="." />
但是,您应该避免使用 CDATA 写出标签(除非您真的希望它们被转义)。直接把你要的元素写出来
<xsl:template match="/">
<Description>
<xsl:for-each select="images/img_item">
<br />
<img src="{.}" />
</xsl:for-each>
</Description>
</xsl:template>
注意使用 Attribute Value Templates 写出 src
属性值。
我有一个XML和XSL代码,产品有图片和描述。我想将此图像附加到描述标签中。
<images>
<img_item type_name="">http://www.example.com.tr/ExampleData/example1.jpg</img_item>
<img_item type_name="">http://www.example.com.tr/ExampleData/example2.jpg</img_item>
<img_item type_name="">http://www.example.com.tr/ExampleData/example3.jpg</img_item>
</images>
我这样写 XSL 代码(但它没有得到 img_type 的值):
<Description>
<xsl:for-each select="images/img_item">
<xsl:text><![CDATA[<br/><img src="]]></xsl:text>
<xsl:value-of select="images/img_item"/>
<xsl:text><![CDATA[" />]]></xsl:text>
</xsl:for-each>
</Description>
我的代码不起作用。我如何获得 img_type 的价值(我如何获得这些链接。)
您没有获得价值的原因是因为已经定位在 img_item
上,而您的 xsl:value-of
select 将与此相关。所以你只需要这样做...
<xsl:value-of select="." />
但是,您应该避免使用 CDATA 写出标签(除非您真的希望它们被转义)。直接把你要的元素写出来
<xsl:template match="/">
<Description>
<xsl:for-each select="images/img_item">
<br />
<img src="{.}" />
</xsl:for-each>
</Description>
</xsl:template>
注意使用 Attribute Value Templates 写出 src
属性值。