Java et les balises html xml éxercice trés interessant pour les mathématicien al

artistouclub Messages postés 4 Date d'inscription vendredi 1 janvier 2010 Statut Membre Dernière intervention 19 décembre 2011 - 18 déc. 2011 à 19:36
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 20 déc. 2011 à 08:06
Bonjour
j'ai voulu développer un pgm qui sert à préciser les sous-balises html utilisées pour une balise donnée dans un fichier html
exple:
<html>
<head> <title> </title> </head>
















</html>

Et on aura comme résultat:
a ->
body -> div h1 img
div -> p
h1 ->
head -> title
html -> body head
img ->
p -> a strong
strong ->
title ->

1// création d'une fabrique de documents
DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();

2// création d'un constructeur de documents
DocumentBuilder constructeur = fabrique.newDocumentBuilder();

3// lecture du contenu d'un fichier XML avec DOM
File xml = new File("ExempleDOM.xml");
Document document = constructeur.parse(xml);

4//
public static void getLinks(Document document) {

ArrayList<Element> liens = new ArrayList<Element>();

try{


Element racine = document.getDocumentElement();

NodeList liste = racine.getElementsByTagName("*");
liens.add(racine);
for(int i=0; i<liste.getLength(); i++){
Element e = (Element)liste.item(i);
liens.add(e);
}
for(int i=0; i<liens.size(); i++){
Element e = (Element)liens.get(i);
NodeList enfants = e.getElementsByTagName("*");
int nombreDElementsEnfants = enfants.getLength();
System.out.println(nombreDElementsEnfants);
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{System.out.println("ok");}catch(Exception e){}
for(int i = 0; i < liens.size(); i++)
{
System.out.println("donnée à l'indice " + i + " = " + liens.get(i));
printNode(liens.get(i));
}

}
}
}

je suis bloqué a cette étape :
html= head ,title, body,div,p,a,h1,img..
par contre je veux ben avoir

a ->
body -> div h1 img
div -> p
h1 ->
head -> title
html -> body head
img ->
p -> a strong
strong ->
title ->


Qcq pourra m'aider svp
Merci bcp

3 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
19 déc. 2011 à 09:12
Bonjour,

Si tu veux juste récupérer les noms des balises, tu n'as pas besoin d'utiliser JDom, tu peux le faire mais je lirais le fichier comme un fichier texte.

Tu cherches la balise indiquée par exemple et ensuites, tant que tu ne vois pas , tu affiches tout les champs qui sont entre < et >.

Penses à utiliser des regex.
0
artistouclub Messages postés 4 Date d'inscription vendredi 1 janvier 2010 Statut Membre Dernière intervention 19 décembre 2011
19 déc. 2011 à 16:47
Merci
en fait j'arrive a afficher tout les champs qui sont entre < et >. Mais je voudrais bien afficher seulement les sous tags d'un tag donné
exple


Bonjour



Salut



Body ---> div h1
et don c pas la peine d'afficher Body---->div p h1

Merci
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
20 déc. 2011 à 08:06
Oui, je t'ai donné le principe pour faire ca non ?
0