Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jqueryxml解析foreach_Jquery_Xml_Foreach - Fatal编程技术网

jqueryxml解析foreach

jqueryxml解析foreach,jquery,xml,foreach,Jquery,Xml,Foreach,我需要从xml文件中获取数据 <?xml version="1.0"?> <xml> <User> <Agent> <id>cr4523</id> </Agent> <Time> <Time_Main>2-3pm</Time_Main> <Day>Mon</Day

我需要从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 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\u 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());
        }

        );

下午2-3点
周一
下午3-4点
周一
$(html)。查找(“时间组”)。每个(
功能(即,e)
{
日志(“新的时间标签…”);
log($(e).find(“time_main”).text());
console.log($(e).find(“day”).text();
}
);

谢谢-这似乎使数据在没有循环的情况下也更容易运行。是的,您的数据是平坦的,因为数据确实是平坦的。。。如果我的假设是正确的,并且时间/数据是成对的,那么这是处理该场景的最佳且最简单的方法
$(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>
   <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());
        }

        );