2014-12-06 6 views
0

Hi Guyz Я новичок в XSLT. Пожалуйста, помогите создать XSLT, чтобы получить результат ниже.XSLT-код для преобразования одного xml в другой xml

ввод XML

<ProjectedMonthlyIncomeList> 
    <ProjectedMonthlyIncome> 
     <StartDate>2014-09-11T00:00:00-04:00</StartDate> 
     <EndDate>2014-09-30T00:00:00-04:00</EndDate> 
     <Month>Sep</Month> 
     <Income>372.00</Income> 
    </ProjectedMonthlyIncome> 
    <ProjectedMonthlyIncome> 
     <StartDate>2014-10-01T00:00:00-04:00</StartDate> 
     <EndDate>2014-10-31T00:00:00-04:00</EndDate> 
     <Month>Oct</Month> 
     <Income>222.00</Income> 
    </ProjectedMonthlyIncome> 
    <ProjectedMonthlyIncome> 
     <StartDate>2014-11-01T00:00:00-04:00</StartDate> 
     <EndDate>2014-11-29T23:00:00-05:00</EndDate> 
     <Month>Nov</Month> 
     <Income>379.00</Income> 
    </ProjectedMonthlyIncome> 

XSLT:

<xsl:stylesheet version="1.0" xmlns:xsl="w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
    <xsl:apply-templates match = "ProjectedMonthlyIncomeList/ProjectedMonthlyIncome"> 
     <xsl:with-param name="sequence" select="1" /> 
    </xsl:apply-templates> 
</xsl:template> 

<xsl:template match="ProjectedMonthlyIncomeList/ProjectedMonthlyIncome"> 
    <xsl:param name="sequence" /> 
     <xsl:if test = "$sequence = '1'"> 
      <mon1><xsl:value-of select="Income"/></mon1> 
     </xsl:if> 
</xsl:template> 
</xsl:stylesheet> 

Выходной XML

<Mon1>372.00</Mon1> 
<Mon2>222.00</Mon2> 
<Mon3>379.00</Mon3> 

Я хочу Доход тегов для отображения на MON1, MON2, Mon3 друг от друга ProjectedMonthlyIncome тег

+1

Опубликуйте XSLT, что вы пробовали. –

+0

+0

Теперь, как я могу увеличить значение последовательности –

ответ

0

Попробуйте это:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 
<xsl:template match="ProjectedMonthlyIncomeList"> 
    <xsl:for-each select="ProjectedMonthlyIncome/Income"> 
     <xsl:element name="Mon{position()}"> 
      <xsl:value-of select="."/> 
     </xsl:element> 
    </xsl:for-each> 
</xsl:template> 
</xsl:stylesheet> 
+0

Спасибо за помощь. Мы используем версию 1.0, поэтому не знаем, будет ли фрагмент кода работать –

+0

Я предполагаю, что он также будет работать в версии 1.0, просто измените версию XSLT на 1.0. –

+0

Спасибо Рудрамуни. –

Смежные вопросы