【问题标题】:jquery xml parsing foreachjquery xml解析foreach
【发布时间】:2012-06-20 09:57:46
【问题描述】:

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

【问题讨论】:

    标签: jquery xml foreach


    【解决方案1】:

    首先,formatting 是正确的,但 structuring 不正确(我假设将选择时间/日期对作为单个实体)。 那我就做:

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

    如果您仍然需要单个 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());
            }
    
            );
    

    【讨论】:

    • 谢谢 - 这似乎使数据更容易运行,即使没有循环。
    • 是的,你的数据是平坦的,因为数据确实是平坦的......如果我的假设是正确的,并且时间/数据成对出现,这是处理场景的最佳和最简单的方法
    猜你喜欢
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 2011-02-12
    • 2016-12-11
    • 2012-04-30
    • 2014-03-01
    相关资源
    最近更新 更多