2012-02-20 5 views
0

Je suis en train de créer un onglet dynamique et en-têtes de table à partir d'un fichier xml,Comment supprimer les doublons?

Le nom de l'onglet est goign être « adaptateur » ou ainsi de suite pour montrer qu'une seule fois-à-dire ignorer les doublons noms Tab

Semblable pour les noms d'en-tête pour la table ainsi

Comment puis-je supprimer les onglets en double et le titre d'en-tête? Actuellement la sortie générée forment le script ci-dessous:

Adaptateurs < - TAB

TargetClass | TargetName | DisplayName | AdminStatus | OperStatus | Type |

Interface | IF | IF | UP | UP | EMAC | Normal |

Adaptateurs - < - TAB

TargetClass | TargetName | DisplayName | AdminStatus | OperStatus | Type |

Interface | IF | IF | UP | UP | EMAC | Alerte |

Adaptateurs - < -Tab

TargetClass | TargetName | DisplayName} AdminStatus | OperStatus | Type |

Réseau | 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 bit

<?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

Je ne comprends pas la question trop bien. – gideon

+0

Je suis d'accord, moi non plus. –

Répondre

0

Je ne comprends pas quels éléments doivent être propres, mais peut-être que vous cherchez que:

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

+0

Les éléments que j'essaie de nettoyer sont D1s, et aussi pour le nom de champ d'élément = "TargetObjectClass" les deux D1 ont TargetObjectClass, je vais utiliser le nom pour créer un en-tête de table afin qu'il ne puisse pas être dupliqué – user244394

+0

D'une manière générale, l'algorithme pour détecter les doublons consiste à trier votre collection et à la parcourir pour voir si un élément est le même que le précédent. Vous pouvez donc créer un tableau avec vos éléments, le trier par le bon champ et le parcourir pour supprimer les doublons. –