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 :

Ne prendre qu'un enfant


Sujet :

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

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Par défaut Ne prendre qu'un enfant
    Salut tout le monde,
    Voila pour un petit programme permettant de pouvoir lire/modifier un inventaire de matériel informatique en xml j'ai besoin de récupérer certaines valeurs. Cependant je n'y arrive pas car je recupère toutes les données à chaque fois.
    Voici un exemple d'inventaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <inventaire>
            <imprimante>
                       <laser></laser>
                       <encre></encre>
            </imprimante>
            <serveur>
                  <mail></mail>
                  <fax></fax>
            </serveur>
    </inventaire>
    Et donc par exemple je voudrais récupérer juste le nom <imprimante>, <serveur> etc s'il y en a d'autres mais pas <laser><encre>etc
    J'utilise dom mais je connais pas trop donc si quelqu'un peut m'aider merci.

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Par défaut
    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
     
    DocumentBuilderFactory create = DocumentBuilderFactory.newInstance();
     
    			DocumentBuilder constructor = create.newDocumentBuilder();	
     
    			/** reading of the XML file with DOM */
    			File xml = new File("fichier.xml");
     
    			Document document = constructor.parse(xml);
    			/** root of the XML document (LAUNCHER)*/
    			root = document.getDocumentElement();
     
    			if (root != null) {
    				/** reading nodes RULE */
    				NodeList nl = root.getElementsByTagName("imprimante");						
    for (int i=0;i<nl.getLength();i++) {
    	// pour obtenir l'élément : nl.item(i);								}
    				nl = root.getElementsByTagName("serveur");										
     
    for (int i=0;i<nl.getLength();i++) {
    // pour obtenir l'élément : nl.item(i);
    									}
    ça c'était pour avoir tous les éléments à partir de leur nom. Pour avoir le fils de imprimante, admettons laser. tu récupères d'abord imprimante (Node n = nl.item(i)) et ensuite tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    NodeList nl = n.getChildNodes();
    for (int j=0; j<nl.getLength();j++) {
    Node nbis = nl.item(i);
    if (nbis .getNodeName() == laser) {
    // tu fais ton traitement
    // attribut = nbis .getAttributes().getNamedItem("nomattribut").getNodeValue()
    }
    }
    voilà voilà. Y'a pas mal de tutoriaux qui sont pas mal faits sur le net.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Par défaut
    Oui en fait ça j'y arrive mais j'aurais voulu faire quelquechose de dynamique donc en fait il peut y avoir imprimante ou scanner comme serveur ou modem.... Mais la seul chose que l'on peut déterminer est dans l'arborescence du fichier xml. En deuxième position il y aura toujours le nom du matériels puis en seconde et troisième position un descriptif ou autre.
    En fait on ne connait pas le contenu mais seulement l'arborescence.

Discussions similaires

  1. prendre le controle d'un pc distant sans grosses manip
    Par aladjiasse dans le forum Développement
    Réponses: 13
    Dernier message: 10/04/2006, 15h14
  2. Prendre une valeur dans la grappe XML
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 21/05/2003, 10h26
  3. [VB6] [Réseau] Prendre le contrôle d'un téléchargement
    Par Tchetch dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/10/2002, 14h18
  4. [MDI] comment fermer la bonne fenêtre enfant ?
    Par KThrax dans le forum Langage
    Réponses: 5
    Dernier message: 01/09/2002, 09h42
  5. Webbrowser : Comment ne pas prendre la page en cache
    Par cedm78 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 30/08/2002, 11h17

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