Я пытаюсь получить определенный дочерний элемент из документа XML на основе нескольких селекторов.Ниже приведено то, что я использовал, чтобы найти все записи с соответствующим названием комнаты.Обратите внимание, что мне также нужно фильтровать по определенному диапазону даты и времени на основе полей StartDateTime
и EndDateTime
.Я не веб-парень, поэтому, чтобы помочь объяснить ниже, как я буду делать это в SQL:
SELECT EventName
FROM Events
WHERE RoomName = 'Ballroom A'
and StartDateTime > '2018-08-23T08:30:00' and EndDateTime < '2018-08-23T17:00:00'
$.ajax({
type: "GET",
url: "data.xml",
dataType: "xml",
success: function(xml) {
var nod = $(xml).find("Event RoomName:contains('Ballroom A')");
var pNod = nod.parent();
var name = $(pNod).find("EventName");
alert(name.text());
}
});
Ниже приведен пример записи в точном формате XML.Я пытался связать находки и использовать .has, но, кажется, ничего не производит ничего.
<GetEventsResponse>
<StatusCode>OK</StatusCode>
<StatusId>1000</StatusId>
<StatusDescription>Success</StatusDescription>
<StatusException/>
<StatusCookie>Events came from cache</StatusCookie>
<StatusTimeStamp>2018-08-23T09:20:09.0375049-06:00</StatusTimeStamp>
<Events>
<Event>
<PropertyKey/>
<PropertyName>HERE</PropertyName>
<EventKey>...</EventKey>
<EventName>EVENT 1002</EventName>
<EventPostAs></EventPostAs>
<GroupKey/>
<GroupName/>
<GroupLogoUrl/>
<StartDateTime>2018-08-23T09:00:00</StartDateTime>
<EndDateTime>2018-08-23T17:00:00</EndDateTime>
<Building/>
<RoomKey/>
<RoomName>Ballroom A</RoomName>
<MeetingKey/>
<MeetingName/>
<MeetingPostAs/>
<MeetingType/>
<AgreedAttendance>50</AgreedAttendance>
<IsPostable>true</IsPostable>
<IsExhibit>false</IsExhibit>
<SecondaryEventPostAs/>
<SecondaryGroupName/>
<SecondaryRoomName/>
<SecondaryMeetingName/>
<SecondaryMeetingPostAs/>
<VideoWallScreen>0</VideoWallScreen>
<VideoWallPage>0</VideoWallPage>
<VideoWallLine>0</VideoWallLine>
<EventType/>
<Status/>
<StatusType/>
</Event>
</Events>
</GetEventsResponse>
Может кто-нибудь предложить некоторую помощь в том, что является лучшим способом для получения данных, которые мне нужны.Благодаря.