0
我有以下XMl。我想讀取基於類型值的開始和結束日期。當類型爲「O」時,讀取O的開始日期和結束日期,併爲類型「L」讀取相同的日期。日期是可選的。xslt基於前一個元素的下一個元素值
<Person id="1">
<Date>
<Type value="O"/>
<Start value="2009-04-01"/>
<End value="2012-03-31"/>
</Date>
<Date>
<Type value="L"/>
<Start value="2009-01-31"/>
</Date>
</Person>
<Person id="2">
<Date>
<Type value="O"/>
<Start value="2009-01-11"/>
</Date>
</Person>
我收到以下XSLT代碼。但它正在閱讀和梳理兩者中的開始/結束日期。
<xsl:choose>
<xsl:when test="Date/Type[@value = 'O']">
<xsl:value-of select="Date/Start/@value"/><xsl:value-of select="$separator" />
<xsl:value-of select="Date/End/@value"/><xsl:value-of select="$separator" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$separator" /><xsl:value-of select="$separator" />
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="Date/Type[@value = 'L']">
<xsl:value-of select="Date/Start/@value"/><xsl:value-of select="$separator" />
<xsl:value-of select="Date/End/@value"/><xsl:value-of select="$separator" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$separator" /><xsl:value-of select="$separator" />
</xsl:otherwise>
</xsl:choose>
的願望輸出爲CSV
"2009-04-01","2012-03-31","2009-01-31",""
"2009-01-11","","",""
請發表您所需的輸出根據您輸入的XML以上的XML。 –
@ JoelM.Lamsen:我已經用期望的輸出更新了問題。謝謝 – user3202862