2012-06-20 2 views
0

Мне нужно получить данные из XML-файлаJQuery XML синтаксический Еогеасп

<?xml version="1.0"?> 
    <xml> 
    <User> 
    <Agent> 
     <id>cr4523</id> 
    </Agent> 
    <Time> 
     <Time_Main>2-3pm</Time_Main> 
     <Day>Mon</Day> 
     <Time_Main>3-4pm</Time_Main> 
     <Day>Mon</Day> 
     <Time_Main>10-11am</Time_Main> 
     <Day>Tue</Day> 
     </Time> 
    </User> 
    </xml> 

Моя проблема заключается в том, что: не уверен, что если мой файл XML правильно и B: JQuery Я использую compressess все данные вместе , albiet в разделах «Time_Main» и «Day».

Что мне нужно для каждого Time_Main и Day Мне нужно вызвать простую функцию.

JQuery Я использую это -

$(html).find('Time').each(function(){ 
     var day=$(this).find('Day').text(); 
    var time_main=$(this).find('Time_Main').text(); 
    }); 

ответ

1

Первого, форматирования правильно, но структурирования нет (я предполагаю, что время/день пара должны быть выбрана в качестве одного объекта). я сделаю то:

<?xml version="1.0"?> 
<xml> 
<User> 
    <Agent> 
    <id>cr4523</id> 
    </Agent> 
    <Time> 
    <Time_Main>2-3pm</Time_Main> 
    <Day>Mon</Day> 
    </Time> 
    <Time> 
    <Time_Main>3-4pm</Time_Main> 
    <Day>Mon</Day> 
    </Time> 
</User> 
</xml> 

Отсюда вы можете перебрать все теги «Время» и получить Time_Main и Day.

$(html).find("Time").each(
     function (i,e) 
     { 
      console.log("New time tag..."); 
      console.log($(e).find("time_main").text()); 
      console.log($(e).find("day").text()); 
     } 

     ); 

Если вы все еще нуждаются в одногоTime тег, завернуть Time_main/Day пары в другой тег:

<Time> 
    <TimeGroup> 
    <Time_Main>2-3pm</Time_Main> 
    <Day>Mon</Day> 
    </TimeGroup> 
    <TimeGroup> 
    <Time_Main>3-4pm</Time_Main> 
    <Day>Mon</Day> 
    </TimeGroup> 
</Time> 

$(html).find("Time TimeGroup").each(
     function (i,e) 
     { 
      console.log("New time tag..."); 
      console.log($(e).find("time_main").text()); 
      console.log($(e).find("day").text()); 
     } 

     ); 
+0

Спасибо - это, кажется, делает данные легче пробежать даже без зацикливания. – Sideshow

+0

Да, у вас были данные плоские, потому что данные были плоскими действительно ... если мое предположение было правильным, а время/данные попали в пары, это лучший и самый простой способ справиться со сценарием – Cranio

Смежные вопросы