Я застреваю в цикле и нуждаюсь в каком-то направлении от группы. Я могу зациклиться на одном ребенке, но у меня проблемы с добавлением второго.XSLT Вложенная петля нескольких дочерних элементов
Это мой XML:
<wd:Report_Entry>
<wd:Beneficiaries_-_All>
<wd:EMPLID>00025</wd:EMPLID>
<wd:Last>LastName</wd:Last>
<wd:First>FirstName</wd:First>
<wd:WID>key1234</wd:WID>
</wd:Beneficiaries_-_All>
<wd:Beneficiaries_-_All>
<wd:EMPLID>00025</wd:EMPLID>
<wd:Last>LastName</wd:Last>
<wd:First>First2</wd:First>
<wd:WID>key4567</wd:WID>
</wd:Beneficiaries_-_All>
<wd:Beneficiaries_-_People>
<wd:DOB>Birth1</wd:DOB>
<wd:ID>ID1</wd:ID>
<wd:WID>key1234</wd:WID>
</wd:Beneficiaries_-_People>
<wd:Beneficiaries_-_People>
<wd:DOB>Birth2</wd:DOB>
<wd:ID>ID2</wd:ID>
<wd:WID>key4567</wd:WID>
</wd:Beneficiaries_-_People>
</wd:Report_Entry>
Мой XSLT ниже
<xsl:output method="text"/>
<xsl:variable name="linefeed" select="'
'"></xsl:variable>
<xsl:template match="/">
<xsl:for-each select="/wd:Report_Data/wd:Report_Entry">
<xsl:for-each select="wd:Beneficiaries_-_All">
<xsl:text>"</xsl:text>
<xsl:value-of select="wd:EMPLID"/>
<xsl:text>","</xsl:text>
<xsl:value-of select="wd:Last"/>
<xsl:text>","</xsl:text>
<xsl:value-of select="wd:First"/>
<xsl:text>","</xsl:text>
<xsl:value-of select="$linefeed"/>
</xsl:for-each>
<xsl:for-each select="wd:Beneficiaries_-_People">
<xsl:value-of select="wd:DOB"/>
<xsl:text>","</xsl:text>
<xsl:value-of select="wd:ID"/>
<xsl:text>"</xsl:text>
</xsl:for-each>
<xsl:value-of select="$linefeed"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Моя требуемый выход CSV так:
"00025", "LastName",» First1 "," Birth1 "," ID1 "
" 00025 "," LastName "," First2 "," Birth2 "," ID2 "
"00026", "LastName", "First1", "Birth1", "ID1" (продолжается таким образом)
Но я получаю для каждой записи Доклад:
"00025" , "LastName", "First1", "
"00025", "LastName", "First2","
Birth1" , "ID1" Birth2" , "ID2"
Мои исследования на этом сайте указывает, что <apply-templates>
является предпочтительным по сравнению с <for-each>
. Формат дает мне проблему, когда я пытаюсь использовать этот метод. Спасибо группе!
Что связывает даты рождения с людьми? –
В запросе, который создавал XML, метаданные бенефициара на «ВСЕ» и «Люди» имеют общий идентификатор. –
BWatkins
Боюсь, я не вижу такой вещи в приведенном примере. –