Обход файла XML с помощью Jquery с использованием нескольких селекторов - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь получить определенный дочерний элемент из документа 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>

Может кто-нибудь предложить некоторую помощь в том, что является лучшим способом для получения данных, которые мне нужны.Благодаря.

...