Bonjour, j'ai un ptit probleme pour parser mon xml avec jdom. J'arriva a l'afficher entierement et a en resortir chaqu'une des valeurs comme ceci :
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
if ( noeud == null ) return;
 
        //String nom = noeud.getNodeName();
        String valeur = noeud.getNodeValue();
 
        if ( valeur != null ) valeur.trim();
 
        if( noeud.getNodeType() == Node.TEXT_NODE)
        {
            Node n = noeud.getNextSibling();
            if ( n != null ){
                if (n.getNodeName().equals("DbConnection"))
                    bdb.setConnection(n.getTextContent());
                if (n.getNodeName().equals("DbName"))
                    bdb.setName(n.getTextContent());
                if (n.getNodeName().equals("DbLogin"))
                    bdb.setUser(n.getTextContent());
                if (n.getNodeName().equals("DbPassword"))
                    bdb.setPassword(n.getTextContent());
            }
        }
 
        NodeList enfants = noeud.getChildNodes();    
        System.out.println(""+enfants.getLength());
        for( int i = 0 ; i < enfants.getLength() ; i++ ){
            affichXML(enfants.item(i), profondeur+1);
        }
Voici le xml associé

<?xml version="1.0" encoding="UTF-8"?>

<!--
Document : testXML.xml
Created on : 21 janvier 2005, 10:30
Author : Nicoo
Description:
Purpose of the document follows.
-->

<!DOCTYPE DbList[
<!ELEMENT DbList ANY>
<!ELEMENT DataBase (DbConnection,DbName,DbLogin,DbPassword)>
<!ELEMENT DbConnection (#PCDATA)>
<!ELEMENT DbName (#PCDATA)>
<!ELEMENT DbLogin (#PCDATA)>
<!ELEMENT DbPassword (#PCDATA)>
]>

<DbList>
<DataBase>
<DbConnection>127.0.0.1</DbConnection>
<DbName>test</DbName>
<DbLogin>test</DbLogin>
<DbPassword>test</DbPassword>
</DataBase>
</DbList>
le probleme est que si j'ajoute une deuxieme database dans le fichioer xml alors il prendra la deuxieme par defaut. Logique mais alors que dois je faire pour qu'il ne lise qu'un bloc d'enregistrement ?