2017-03-22 5 views
0

Ich habe einen XML-und XSL-Code, Produkte haben Bilder und Beschreibung. Ich möchte diese Bilder im Description-Tag anhängen.Wie bekomme ich den Wert von XML-Element mit 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> 

Ich schreibe XSL-Code wie folgt aus (aber es nicht Wert von img_type erhalten):

 <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> 

Mein Code funktioniert nicht. Wie kann ich den Wert von img_type erhalten (wie kann ich diese Links bekommen)

Antwort

1

Der Grund, warum Sie nicht bekommen und Wert ist, weil bereits auf der img_item positioniert sind, und Ihre xsl:value-of wählen wird relativ dazu sein. Sie müssen also nur, dies zu tun ...

<xsl:value-of select="." /> 

Howver, sollten Sie mit CDATA vermeiden Tags schreiben (es sei denn, Sie wirklich, sie wollen zu entkommen). schreiben Sie einfach das Element, das Sie direkt die Verwendung von Attribute Value Templates zu schreiben, den src Attributwert

<xsl:template match="/"> 
    <Description> 
    <xsl:for-each select="images/img_item"> 
     <br /> 
     <img src="{.}" /> 
    </xsl:for-each> 
    </Description> 
</xsl:template> 

Hinweis möge.

+0

Diese Lösung funktionierte. Vielen Dank :) –

Verwandte Themen