2012-02-20 172 views
0

我试图创建一个XML文件中的动态选项卡,表头,如何删除重复项?

的标签名称goign为“适配器”或者等等露面只有一次,即忽略任何重复的标签名称

如何删除重复的标签和标题标题? 目前输出生成的表单下面的脚本:

适配器< - TAB

TargetClass | TargetName | DisplayName | AdminStatus | OperStatus |类型|

接口| IF | IF | UP | UP | EMAC |普通|

适配器 - < - TAB

TargetClass | TargetName | DisplayName | AdminStatus | OperStatus |类型|

接口| IF | IF | UP | UP | EMAC |速递|

适配器 - < -Tab

TargetClass | TargetName | DisplayName} AdminStatus | OperStatus |类型|

网络| IF | IF | UP | UP | EMAC | NA |

$(document).ready(function() 
{ 
    $.ajax({ 
    type: "GET", 
    url: "view.xml", 
    dataType: "xml", 
    complete: function(data,status) { parseXml(data.responseXML); } 
    }); 
}); 

function parseXml(xml) 
{ 


    $(xml).find("cView").each(function() 
    { 
    $("#output").append('<b>' + $(this).attr("type") + " - TAB CView type </b><br />"); 


    $(this).find("field").each(function() 
    { 
     $("#output").append('<b>' +$(this).attr("name") + " -- </b>");  
    // $("#output").append($(this).text() + " -- "); 

    }); 
    $("#output").append("<br />"); 
    $(this).find("field").each(function() 
    { 
     //$("#output").append('<b>' +$(this).attr("name") + " -- </b>"); 
     $("#output").append($(this).text() + " -- "); 
    }); 

    $("#output").append("<br /><br/>"); 
    }); 

} 

XML位

<?xml version="1.0" encoding="utf-8"?> 
<feed> 
    <entry> 
    ---- 
    ---- 
    <cView type="D1"> 
        <field name="TargetObjectClass">Disk</field> 
        <field name="TargetObjectName">DISK A1</field> 
        <field name="DisplayName">DISK-Name</field> 
        <field name="MaxAvgDataRate KB/sec">50.00 KB/sec</field> 
        <field name="MaxAvgQueueDepth">50.00</field> 
       </cView> 
       <cView type="D1"> 
        <field name="TargetObjectClass">Disk</field> 
        <field name="TargetObjectName">DISK B2</field> 
        <field name="DisplayName"> Disk-Name 2 </field> 
        <field name="MaxAvgDataRate KB/sec">60.00 KB/sec</field> 
        <field name="MaxAvgQueueDepth">60.00</field> 
       </cView> 


    ... 
    </entry> 
</feed> 
+1

我不明白问题太好了。 – gideon 2012-02-20 05:55:12

+0

我同意,我也不同意。 – 2012-02-20 09:04:00

回答

0

我不明白什么元素必须是干净的,但也许你找的是:

http://api.jquery.com/jQuery.unique/

+0

我试图清理的元素是D1s,也是元素字段名称=“TargetObjectClass”,D1都有TargetObjectClass,我将使用该名称创建表头,因此它不能重复以及 – user244394 2012-02-21 05:10:17

+0

在一般的方法,检测重复的算法是对你的集合进行排序并运行,以查看一个元素是否与前一个元素相同。所以你可以用你的元素创建一个数组,按照好的字段对它进行排序,然后遍历它以删除重复项。 – 2012-02-21 08:59:27