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

+0

私は同意しません。 –

答えて

0

私はきれいになるために必要なものの要素を理解していませんが、多分あなたはそれを探しています:

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

+0

私は清掃しようとしている要素はD1sであり、要素フィールド名= "TargetObjectClass"でもTargetObjectClassを持っていますが、テーブルヘッダーを作成するためにその名前を使用しますので、複製することはできません – user244394

+0

一般的な方法では、重複を検出するアルゴリズムは、コレクションをソートし、それを実行して要素が前のものと同じかどうかを調べることです。したがって、要素で配列を作成し、それを良いフィールドでソートし、重複を除去するためにそれを実行することができます。 –