XML lecture d'un enregistrement
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:
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é
Citation:
<?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 ?