Occurences d'un element xml

Résolu/Fermé
loloof64 Messages postés 11 Date d'inscription lundi 6 août 2007 Statut Membre Dernière intervention 8 décembre 2010 - 6 août 2007 à 12:42
loloof64 Messages postés 11 Date d'inscription lundi 6 août 2007 Statut Membre Dernière intervention 8 décembre 2010 - 6 août 2007 à 14:20
Bonjour à tous,

je suis nouveau sur ce forum .

Voilà ce qui m'embête :

Soit le XML suivant :

-------------------------------------------------------------------------------------------
<grille_kakuro>
<largeur> 3 </largeur>
<hauteur> 5 </hauteur>

<ligne_de_cases_kakuro>
<case_kakuro> (...elements volontairement omis) </case_kakuro>
<case_kakuro> (...elements volontairement omis) </case_kakuro>
<case_kakuro> (...elements volontairement omis) </case_kakuro>
<case_kakuro> (...elements volontairement omis) </case_kakuro>
(..case_kakuro volontairement omis) 
<case_kakuro> (...elements volontairement omis) </case_kakuro>
</ligne_de_cases_kakuro>

<ligne_de_cases_kakuro>  (...elements volontairement omis)  </ligne_de_cases_kakuro>
(.. ligne_de_case_kakuro volontairement omis)
 <ligne_de_cases_kakuro>  (...elements volontairement omis)  </ligne_de_cases_kakuro>
</grille_kakuro>

-------------------------------------------------------------------------------------------

Comment, avec un DTD ou un schema, vérifier que
--- il y ait exactement hauteur éléments ligne_de_cases_kakuro ?
--- il y ait exactement largeur éléments case_kakuro par igne_de_cases_kakuro ?

--------------------------------------------------------------------------------------------

Peut-être les recherches n'ont elles rien donnée parce que la difficulté n'est pas si grande qu'elle m'y parait.
Quoi qu'il en soit, je vous remercie d'avance .
A voir également:

8 réponses

JoloKossovar Messages postés 111 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 5 septembre 2007 33
6 août 2007 à 13:29
Humm alors la je ne sais pas trop, mais cela pourrai tout simplement etre en rapport avec le tps de chargment de ta page web.
1
JoloKossovar Messages postés 111 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 5 septembre 2007 33
6 août 2007 à 13:32
Voila un exemple de parsing avec dom4j. Pour faire ce que tu veux faire tu n'aura qu'a rajouter une petite fonction pour compter. Tu trouvera de la doc sur le site officel dom4j.org je croiss

protected ListFilm parseFile(File file) throws DocumentException, ParseException {
Document doc = Dom4jUtils.parseDocument(file);
Element listFilmElt = doc.getRootElement();

ListFilm listfilm = new ListFilm();
for(Iterator it = listFilmElt.elementIterator("film"); it.hasNext(); )
{
Element movieElt = (Element)it.next();
String name = Dom4jUtils.requiredElementText(movieElt, "name");
String url = Dom4jUtils.requiredElementText(movieElt, "url");
String weburl = Dom4jUtils.requiredElementText(movieElt, "weburl");
String category = Dom4jUtils.requiredElementText(movieElt, "category");
String screenshot = Dom4jUtils.requiredElementText(movieElt, "screenshot");
String logo = Dom4jUtils.requiredElementText(movieElt, "logo");
Film film = new Film(name,url,weburl,category,screenshot,logo);
listfilm.addItem(film);
}
return (listfilm);
}
1
loloof64 Messages postés 11 Date d'inscription lundi 6 août 2007 Statut Membre Dernière intervention 8 décembre 2010 1
6 août 2007 à 13:45
Merci :)

Donc il est pratiquement impossible de connaitre le nombre de case_kakuro par ligne_de_cases_kakuro du xml avant de le traiter . Mais après tout, grâce à la vitesse des processeurs de nos jours, traiter le fichier avant de le vérifier ne devrait pas poser problème .

En revanche, utiliser Dom4j a l'air beaucoup plus simple qu'utiliser le parseur/transformeur DOM classique :)
Je vais m'y mettre .

En ce qui concerne la mémoire, cela n'est pas un problème : je ne programme pratiquement que des applications pour postes hors-ligne .

Je récapitule :
---------------------------------------------------
1) La mémoire totale du programme ne devrait être problématique que pour le temps de chargement de la page Web qui l'intègre
2) Je peux utiliser l'api DOM4j et me programmer un compteur
1
JoloKossovar Messages postés 111 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 5 septembre 2007 33
6 août 2007 à 13:51
C a m'a l air pas mal ;)
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
loloof64 Messages postés 11 Date d'inscription lundi 6 août 2007 Statut Membre Dernière intervention 8 décembre 2010 1
6 août 2007 à 13:59
De quoi, ce que j'en ai retenu ?
1
JoloKossovar Messages postés 111 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 5 septembre 2007 33
6 août 2007 à 14:18
ton recapitulatif ^^
1
loloof64 Messages postés 11 Date d'inscription lundi 6 août 2007 Statut Membre Dernière intervention 8 décembre 2010 1
6 août 2007 à 14:20
merci :)
1
JoloKossovar Messages postés 111 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 5 septembre 2007 33
6 août 2007 à 13:01
Salut ^^
je te conseille de vérifier cela, avec DOM4j un excellent framework pour parser du xml en tres peu de temps.
Dis moi si ca t interesse et je t'enverrai un exemple.
0
loloof64 Messages postés 11 Date d'inscription lundi 6 août 2007 Statut Membre Dernière intervention 8 décembre 2010 1
6 août 2007 à 13:25
Oui bien sûr cela m'intéresse :)

Si tu veux pour moi, le seul souci à intégrer une librairie à mes codes JAVA, c'est que cette librairie soit trop gourmande en taille, et que par conséquent, on dépasse la limite totale recommandée (400Ko ? Je ne m'en souviens plus). Donc un souci d'optimisation .

A propos cette recommandation sur laquelle on m'a informée est-elle due à la mémoire virtuelle de mon système et à la machine virtuelle de JAVA ?
0