0

x週間、日、シフト開始日、終了日で構成されたシフトパターンである次のxmlがあります。私のxmlノードが「有効になっている」場合、その週のそのシフト時間中にdivのコンテンツを変更するためにxmlを照会する必要があります。

例: '週 1' '月曜日' '日付' 'シフト開始' 'シフト終了' '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>
4

1 に答える 1

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();

親は、シフト オブジェクトのコレクションを返します。週が必要な場合は、'parents' を使用して Week2 を指定し、例のように子孫を調べます。

于 2012-07-31T12:22:04.990 に答える