2013-07-10 80 views
1

我有以下XML。在XSLT中循環遍歷日期

<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:值將是從站點屬性中的每個Timesheetdetail和 一種每一天的開始日期和結束日期之間的列。 TotalDuration值需要作爲上面創建的與BusinessDate匹配的列的值。如果有多個TimesheetDetails,則會創建額外的行。

我現在面臨的問題是 - 如何通過起始日期日期和結束日期循環和動態生成列在XSLT每個日期?我還需要顯示該日期的「日期」。我們可以在XSLT中獲得嗎?

+0

元素'',可能是xslt中的一個問題。如果你不能在xslt中轉義。 –

+0

使用DataContractSerializer生成XML。任何想法如何避免得到那的事情? – Feroz

+0

逃離女巫。 –

回答

0

試試這個代碼,雖然我沒有試過,順便展示網站是這樣的:

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

這使得所有這些都是TimesheetDetail內。

<xsl:template match="TimesheetDetail"> 
    <xsl:value-of select="Site/." /> 
</xsl:template>