1

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>

私の問題は、a: xml ファイルが正しくフォーマットされているかどうかわからないことと、b: 使用している jquery がすべてのデータをまとめて圧縮しているということです。

私が必要とするのは、Time_Main と Day ごとに単純な関数を呼び出す必要があることです。

私が使用しているjqueryは -

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

1 に答える 1

2

まず、フォーマットは正しいですが、構造化は正しくありません (時間/日のペアが単一のエンティティとして選択されると想定しています)。私はそれからやります:

 <?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」タグをループして、 と を取得でき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());
        }

        );
于 2012-06-20T10:00:28.847 に答える