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”部分中。

我需要的是每个 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_MainDay.

$(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());
        }

        );

如果您仍然需要单个 标签,请将/ CouplesTime包装在另一个标签中:Time_mainDay

<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 回答