Почему мой XSLT для каждого l oop не работает? - PullRequest
1 голос
/ 21 июня 2020

с помощью xslt, я хочу изменить XML "(A)" на "(B)"

Количество "item" в "list1" не фиксировано.

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

Я хочу "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>

МОЙ КОД

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

1 Ответ

1 голос
/ 21 июня 2020

Попробуйте:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...