我被困在一個循環的問題中,需要來自組的一些方向。我能夠通過一個孩子循環,但無法添加第二個孩子。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」, 「姓氏」,」 First1「,」Birth1「,」ID1「
」00025「,」LastName「,」First2「,」Birth2「,」ID2「
「00026」, 「姓氏」, 「First1」, 「Birth1」, 「ID1」(以這種方式繼續)
但我正在逐漸爲每個報表錄入:
「00025」 , 「姓氏」, 「First1」, 「
」00025「, 」姓氏「, 」First2「,」
Birth1" , 「ID1」 Birth2" , 「ID2」
我對這個網站的研究表示<apply-templates>
優於<for-each>
。當我嘗試這種方法時,格式給我一個問題。感謝小組!
出生日期與人們有什麼聯繫? –
在生成XML的查詢中,「ALL」和「People」上的受益人元數據共享一個公共標識。 –
BWatkins
恐怕我在所提供的例子中看不到這樣的東西。 –