2012-02-20 128 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