Occurences d'un element xml
Résolu
loloof64
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
loloof64 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
loloof64 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
je suis nouveau sur ce forum .
Voilà ce qui m'embête :
Soit le XML suivant :
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
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 .
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:
- Occurences d'un element xml
- Xml download - Télécharger - Édition & Programmation
- Office xml handler - Télécharger - Traitement de texte
- Open element - Télécharger - HTML
- Driveimage xml - Télécharger - Sauvegarde
- Élément introuvable impossible à supprimer - Guide
8 réponses
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.
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);
}
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);
}
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
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 ?
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 ?