IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

[JDOM] Extraire certains attributs


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut [JDOM] Extraire certains attributs
    Bonjour,
    je travaille avec java et jdom sous l’éclipse pour extraire à partir d'un fichier xml certaine information qui va t'être tester après mais je b'ai pas réussi à avoir les valeurs des adresses dst et src. S'il vous plaît aider moi et Je vous très remercie bien
    classe java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    import java.io.File; 
    import java.io.IOException; 
    import java.util.Iterator; 
    import java.util.List; 
    import org.jdom.Document; 
    import org.jdom.Element; 
    import org.jdom.JDOMException; 
    import org.jdom.input.SAXBuilder; 
    public class Ospf { 
    public static void main(String[] args) { 
    try { 
     
    SAXBuilder parser = new SAXBuilder(); 
    Document doc = parser.build("ospf.xml"); 
     
    Element root = doc.getRootElement(); 
     
    List listOfPackets = root.getChildren(); 
    Iterator listOfPacketsIt = listOfPackets.iterator(); 
    while( ((Iterator) listOfPackets).hasNext()){ 
     
    Element currentPacket = (Element) listOfPacketsIt.next(); 
    List dataPacket = currentPacket.getChildren(); 
    Element listOfProto = (Element) dataPacket.get(0); 
    List listOflistOfPacket = ((Element) listOflistOfPacket).getChildren(); 
    Iterator listOflistOfPacketIt = listOflistOfPacket .iterator(); 
    while(listOflistOfPacketIt.hasNext()){ 
    !!!
     
    } } } 
    catch(Exception e){} } }
    et mon fichier xml:
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <packet> 
     <proto name="frame" > 
         <field name="frame.time" /> 
          <field name="frame.time_delta" /> 
          <field name="frame.time_delta/> 
    </proto> 
      <proto name="eth" showname="Ethernet II, Src: c0:01:0f:78:00:00"/> 
       <proto name="ip" showname="Internet Protocol, Src= 10.0.0.2 (10.0.0.2), Dst= 224.0.0.5 (224.0.0.5)" size="20" pos="14"> 
           <field name="ip.version" showname="Version: 4" size="1" pos="14" show="4" value="45"/> 
       </proto> 
    </packet>

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 554
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 554
    Points : 21 613
    Points
    21 613
    Par défaut
    Quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String showname = proto.getAttributeValue("showname");
    System.out.println(shownale);
    Mais j'ai quelques conseils :
    - Utiliser JDOM 2, plus simple et clair que JDOM 1
    - Indenter correctement ton code, le Java comme le XML. C'est illisible tes machins, tu n'as aucune chance de t'en sortir.
    - donner des noms pertinents à tes variables. Comme tu as plusieurs niveaux de profondeur, on comprend plus rien à où tu en es. Des noms pertinents permettraient de t'y retrouver.
    - Utiliser des boucles foreach comme for(Element packet : listOfPackets) au lieu des Iterator et boucles while. Le code est bien plus clair.
    - Pour atteindre une certaine profondeur dans le XML, utiliser plutôt un getDescendants() avec un Filter sur le nom des éléments. C'est bien plus clair.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. connection ODBC extraire certains champs
    Par krassi dans le forum Access
    Réponses: 4
    Dernier message: 14/03/2007, 07h42
  2. Réponses: 6
    Dernier message: 11/07/2006, 10h04
  3. Extraire certaines informations depuis un fichier
    Par maxxou91 dans le forum Langage
    Réponses: 3
    Dernier message: 04/05/2006, 19h56
  4. extraire certaines lignes
    Par kchrel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 23/01/2006, 12h29
  5. extraire certaines données d'un fichier texte
    Par davz88 dans le forum C++
    Réponses: 11
    Dernier message: 26/03/2005, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo