Dmdjjfbfb
Dmdjjfbfb

Reputation: 11

Why is my XSLT for-each loop not working?

using xslt, I want to change the XML "(A)" to "(B)"

The number of "item" in "list1" is not fixed.

--- (A) XML ---
<wrap>
    <name>narakai</name>
    <list>
        <difitem>G123344</difitem>
        <difitem>G122954</difitem>
        <difitem>G197563</difitem>
    </list>
</wrap>

i want "A" TO "B"

 --- (B) XML ---
    <wrap>
        <name>narakai</name>
        <difitem>G123344</difitem>
    </wrap>
    
    <wrap>
        <name>narakai</name>
        <difitem>G122954</difitem>
    </wrap>
    <wrap>
        <name>narakai</name>
        <difitem>G197563</difitem>
    </wrap>

MY CODE

<xsl:for-each select="wrap/list"> 
                <wrap>
                    <name><xsl:value-of select="name"/></name>
                        <difitem><xsl:value-of select="difitem"/></difitem> 
                </wrap>
            </xsl:for-each>

Upvotes: 1

Views: 31

Answers (1)

michael.hor257k
michael.hor257k

Reputation: 116959

Try:

<xsl:for-each select="wrap/list/difitem"> 
    <wrap>
        <name><xsl:value-of select="../../name"/></name>
        <difitem><xsl:value-of select="."/></difitem> 
    </wrap>
</xsl:for-each>

Upvotes: 1

Related Questions