2012-07-31 69 views
0

我有以下xml,這些xml僅在x周,幾天,班次開始日期和結束日期之間結構化。如果我的xml節點「enabled爲true」,我需要查詢xml以在那一週的換班時間內更改div的內容。使用jquery查詢xml日期節點

例如'week1''Monday''Date''換檔開始''換檔結束''enabled = true',然後在換檔過程中更改div的內容(html)。

XML示例如下安排:

<Schedule> 
    <Week2> 
    <StartDate>2012-07-30T00:00:00</StartDate> <!-- Week Beginning --> 
     <Shift> 
      <Date>2012-07-30T00:00:00</Date> <!-- Monday --> 
      <StartTime>2012-07-30T09:45</StartTime> <!-- Shift Starts --> 
      <EndTime>2012-07-30T17:45</EndTime> <!-- Shift Ends --> 
      <Enabled>true</Enabled> 
     </Shift> 
     <Shift> 
      <Date>2012-07-31T00:00:00</Date> <!-- Tuesday --> 
      <StartTime>2012-07-31T09:45</StartTime> <!-- Shift Starts --> 
      <EndTime>2012-07-31T17:45</EndTime> <!-- Shift Ends --> 
      <Enabled>true</Enabled> 
     </Shift> 
     <Shift> 
      <Date>2012-08-01T00:00:00</Date> <!-- Wednesday --> 
      <StartTime></StartTime> <!-- Shift Starts --> 
      <EndTime></EndTime> <!-- Shift Ends --> 
      <Enabled>false</Enabled> 
     </Shift> 
     <Shift> 
      <Date>2012-08-02T00:00:00</Date> <!-- Thursday --> 
      <StartTime>2012-08-02T09:45</StartTime> <!-- Shift Starts --> 
      <EndTime>2012-08-02T17:45</EndTime> <!-- Shift Ends --> 
      <Enabled>true</Enabled> 
     </Shift> 
     <Shift> 
      <Date>2012-08-03T00:00:00</Date> <!-- Friday --> 
      <StartTime>2012-08-03T09:45</StartTime> <!-- Shift Starts --> 
      <EndTime>2012-08-03T17:45</EndTime> <!-- Shift Ends --> 
      <Enabled>true</Enabled> 
     </Shift> 
     <Shift> 
      <Date>2012-08-04T00:00:00</Date> <!-- Saturday --> 
      <StartTime>2012-08-04T08:15</StartTime> <!-- Shift Starts --> 
      <EndTime>2012-08-04T16:45</EndTime> <!-- Shift Ends --> 
      <Enabled>true</Enabled> 
     </Shift> 
     <Shift> 
      <Date>2012-08-05T00:00:00</Date> <!-- Sunday --> 
      <StartTime></StartTime> <!-- Shift Starts --> 
      <EndTime></EndTime> <!-- Shift Ends --> 
      <Enabled>false</Enabled> 
     </Shift> 
    </Week2> 
</Schedule> 

回答

0
var xml = "our xml..."; 

    var resultArray = 
    $(xml).find('Enabled:contains(true)') 
     .parent() 
     .map(function(item){ 
      return { 
       date: $(this).children('Date').text(), 
       startTime: $(this).children('StartTime').text() 
       // and so on .... 
      } 
     })).get(); 

父將返回移位對象的集合。如果你需要一週,然後使用'父母',並指定第2周,然後看例子中的後代。