【转】SharePoint camel query查询 event 或者Calendar 日历列表的时候,怎么查询所有的重复发生的事件

When you query a SharePoint calendar your results will contain:

  • All non-recurring events
  • The first event of a recurring event series

And won’t contain:

  • All remaining events in recurring event series’

Here is the CAML you need to execute to retrieve all events, including all events in recurring event series:

<listname>My Calendar</listname>

<query>

    <Query>

        <Where>

            <DateRangesOverlap>

                <FieldRef Name=”EventDate”></FieldRef>

                <FieldRef Name=”EndDate”></FieldRef>

                <FieldRef Name=”EventDate”></FieldRef>

                <Value Type=”DateTime”>

                    <Year />

                </ValueType>

            </DateRangesOverlap>

        </Where>

    </Query>

</query>

<queryOptions>

    <QueryOptions>

        <RecurrencePatternXMLVersion>v3</RecurrencePatternXMLVersion>

        <ExpandRecurrence>

    </QueryOptions>

</queryOptions>

<viewFields>

    <FieldRef Name=”EventDate” />

    <FieldRef Name=”EndDate” />

    <FieldRef Name=”fRecurrence” />

    <FieldRef Name=”RecurrenceData” />

</viewFields