Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : xml ... petits trucs, comprends pas trop [ Archives / JavaBeans ] (heraclesss)

mercredi 25 mai 2005 à 11:06:05 | xml ... petits trucs, comprends pas trop

heraclesss

Salut à tous !

Je débute en XML avec Java. j'aimerais comprendre un truc, je n'arrive pas à trouver la réponse.
Tout d'abord, j'ai choisis de développer le xml avec DOM.

J'ai un fichier xml tout simple :

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--<!DOCTYPE DocumentForMyParserDemo SYSTEM "DocumentForMyParserDemo.dtd">-->
<cinemas>
  <cinema>
    <name>UCG de Brouckere</name>
    <address>130 Place de Brouckere 1200 Bruxelles</address>
    <films>
      <film>
        <filename>La grande vadrouille</filename>
        <seances>
          <hour>11h30</hour>
          <hour>14h30</hour>
          <hour>17h30</hour>
        </seances>
      </film>
      <film> 
</cinema>
</cinemas>


Donc comme je suis en DOM, je récupère l'arbre.... ok !
Pour manipuler l'arbre, j'essaye de faire des fonctions de parcours. La première est une fonction récursive qui compte les feuilles. Dans mon exemple, il devrait y en avoir 6.

ma fonction est :

public int nbFeuilles(Node node){
    int nbFeuilles=0;
    NodeList nodes=node.getChildNodes();
 if(nodes.getLength()==0){System.out.println("<"+node+">"+node.getNodeType());return 1;}
        else for(int i=0;i<nodes.getLength();i++){
            nbFeuilles+=nbFeuilles(nodes.item(i));
        }
        return nbFeuilles;
    }

j'ai mis un System.out.println pour débeuguer. (j'affiche le noeud entre "<>" et le type de noeud).

L'exécution de cette fonction avec comme parametre la racine de l'arbre donne :

<
  >3
<
    >3
<UCG de Brouckere>3
<
    >3
<130 Place de Brouckere 1200 Bruxelles>3
<
    >3
<
      >3
<
        >3
<La grande vadrouille>3
<
        >3
<
          >3
<11h30>3
<
          >3
<14h30>3
<
          >3
<17h30>3
<
        >3
<
      >3
<
      >3
<
  >3
<
>3

Ce qui donne un total de 21 feuilles, alors qu'il devrait y en avoir 6 !! D'où viennent ces noeuds vides ?

Merci de m'eclairer !!

Laurent




mercredi 25 mai 2005 à 13:37:36 | Re : xml ... petits trucs, comprends pas trop

neodante

Administrateur CodeS-SourceS
Réponse acceptée !


Salut

Les noeuds vides viennent du fait que tu n'as pas de DTD ni XSD associé à ton XML donc en BON parseur (il fonctionne tous selon ce principe !) il te mets des noeuds vides entre chaque et autour de chaque noeud !

@+

mercredi 25 mai 2005 à 13:49:06 | Re : xml ... petits trucs, comprends pas trop

sim51

Membre Club
Réponse acceptée !
Salut,
Puis je crois bien que tu as une erreur dans ton xml ( oubli des caractères rouges ), mais je ne sais pas si c'est du à un mauvais copié/collé

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--<!DOCTYPE DocumentForMyParserDemo SYSTEM "DocumentForMyParserDemo.dtd">-->
<cinemas>
  <cinema>
    <name>UCG de Brouckere</name>
    <address>130 Place de Brouckere 1200 Bruxelles</address>
    <films>
      <film>
        <filename>La grande vadrouille</filename>
        <seances>
          <hour>11h30</hour>
          <hour>14h30</hour>
          <hour>17h30</hour>
        </seances>
      </film>
    </films
</cinema>


N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!

mercredi 25 mai 2005 à 13:54:18 | Re : xml ... petits trucs, comprends pas trop

heraclesss

Merci pour vos réponses. Bon, pour ces histoires de noeud vides, Je vais tout connement tester si le noeud est vide (caractères espace quand le noeud est un texte), je vois pas comment faire sinon.





Cette discussion est classé dans : fonction, arbre, xml, node, nbfeuilles


Répondre à ce message

Sujets en rapport avec ce message

SWING/font/XML/arbre binaire algo URGENT !!! [ par mkstraits ] salut !à partir d'une interface swing java, on est supposé pouvoir entrer des formules (dans un certain langage de logique) exemple simple: (a.b)=(c+d ajout et suppression de nodes dasn un fichier XML [ par dragon ] je suis pas désespéré, mais je cherche comment ajouter et supprimer des nodes dans un fichiers XMLvoici ma class XML:package tp3;import java.io.File parser un variable string contenant du xml [ par lolofx ] bonjour,voila, j'ai une variable string qui contient du xml, et je veux utiliser dom pour la parservoila ce que je fais, mais il me met no protocol :l XML copie partielle de document [ par ultrafil ] Salut,pour une fois il ne s'agit pas d'une question sur la 3D :)j'espere que quelqu'un utilise un peu xml, mon prob est de niveau newb.(j'utilise xerc JTreeModel [ par emilien81 ] Bonjour a tous,J'ai un probleme avec un arbre de type JTree en Java. En fait j'ai des blancs qui apparaissent et lorsque je veux ajouter un noeud à l' [Java] Rechercher un élément dans un arbre double chaîné!!! [ par dianeti ] Salut tout le monde,j'ai un petit problème un peu chev'lu:je crée un arbre au fur et mesure que je parcours un fichier de données afin de trouver l'ob recuperation des noeuds d'arbre Xml avec jdom [ par kaninama ] Bonjour tout le monde, je veux récupérer tous les noeuds d'un arbre xml a l'aide de jdom mais après les langues recherche que j'ais fait je ne réussi ajouter un noeud dans un arbre binaire [ par wititit ] Bonsoir la team,je travaille en ce moment sur les arbres binaires de recherche et je rencontre un problème lorsque je souhaite ajouter un noeud.Voici Zoom to node [ par barraq ] Bonjour a tous, Je débute en j3D et j'ai une petite question... Je cherche une fonction permetant de zoomer ou de-zoomer etant donné un noeud, je stucture d'arbre [ par jeff705 ] Bonjour, j'ai une fonction (java) qui lit une structure d'arbre (généalogique). Le noeud a chaque fois 2fils: public void lire_arbre(Node n) {


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,172 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.