1

我有以下 XML。

<Timesheet>
   <StartDate>2013-06-12T00:00:00</StartDate>
   <EndDate>2013-06-18T00:00:00</EndDate>
   <Details>
      <TimesheetDetail>
         <BusinessDate>2013-06-12T00:00:00</BusinessDate>
         <Site>
            <a:Id>0201</a:Id>
         </Site>
         <TotalDuration>180</TotalDuration>
         <WorkType>
            <a:Category>
               <b:_displayName>Work</b:_displayName>
               <b:_value>3</b:_value>
            </a:Category>
            <a:Code>Mgmnt</a:Code>
            <a:Description>Management</a:Description>
         </WorkType>
      </TimesheetDetail>
      <TimesheetDetail>
         <BusinessDate>2013-06-13T00:00:00</BusinessDate>
         <Site>
            <a:Id>0202</a:Id>
         </Site>
         <TotalDuration>240</TotalDuration>
         <WorkType>
            <a:Category>
               <b:_displayName>Time Off</b:_displayName>
               <b:_value>3</b:_value>
            </a:Category>
            <a:Code>Bereavement</a:Code>
            <a:Description>Bereavement Leave</a:Description>
         </WorkType>
      </TimesheetDetail>
   </Details>
   <Employee>
      <a:EmpUserId>314Test2</a:EmpUserId>
      <a:FirstName>314Test2</a:FirstName>
   </Employee>
</Timesheet>

我需要编写一个 XSLT,它会生成一个表,该表将有一列用于 Site:值将来自每个 Timesheetdetail 中的 Site 属性和 StartDate 和 EndDate 之间的每一天的列。TotalDuration 值需要作为上面创建的与 BusinessDate 匹配的列的值。如果有多个 TimesheetDetails,则会创建额外的行。

我面临的问题是 - 如何遍历 StartDate 和 EndDate 并为 XSLT 中的每个日期动态生成列?我还需要显示该日期的“日”。我们可以在 XSLT 中得到它吗?

4

1 回答 1

0

试试这段代码,虽然我没试过,但是显示网站的方式是这样的:

<xsl:aply-template select="Timesheet/details"/> 

这使得TimesheetDetail中的所有内容都循环

<xsl:template match="TimesheetDetail">
  <xsl:value-of select="Site/." />
</xsl:template>
于 2013-07-10T23:48:59.323 回答