Bonjour,
J'ai d'abord essayé avec l'api standard DOM de java puis avec jdom.
dans les 2 cas, l'expression xpath est compilée correctement et le document est correctement construit. l'évaluation de l'expression ne retourne aucun résultats alors qu'elle devrait.
J'ai controlé plusieurs fois dans le débuggeur le contenu et type des variables.
Voici le code exécuté:
voici le résultat dans la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 // document est de type org.jdom.Document et contient mon document parsé grace à SAXBuilder // exprXpath est de type String et contient //g // vérifions qu'il y a bien au moins un élément g dans le document Element racine = document.getRootElement(); System.out.println(racine); Element premier = ((Element)racine.getChildren().get(1)); System.out.println(premier); Element deuxieme = ((Element)premier.getChildren().get(0)); System.out.println(deuxieme); Element troixieme = ((Element)deuxieme.getChildren().get(0)); System.out.println(troixieme); Element quatrieme = ((Element)troixieme.getChildren().get(0)); System.out.println(quatrieme); Element cinquieme = ((Element)quatrieme.getChildren().get(8)); System.out.println(cinquieme); System.out.println(); XPath xpa = XPath.newInstance(exprXpath); // vérifions que jdom a bien compilé l'expression xpath System.out.println(xpa); // évaluons les résultats List results = xpa.selectNodes(racine) ; System.out.println(results.size());
Le document est conforme à sa dtd et le code est exécuté sans erreurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 [Element: <TEI [Namespace: http://www.tei-c.org/ns/1.0]/>] [Element: <text [Namespace: http://www.tei-c.org/ns/1.0]/>] [Element: <front [Namespace: http://www.tei-c.org/ns/1.0]/>] [Element: <titlePage [Namespace: http://www.tei-c.org/ns/1.0]/>] [Element: <titlePart [Namespace: http://www.tei-c.org/ns/1.0]/>] [Element: <g [Namespace: http://www.tei-c.org/ns/1.0]/>] /descendant-or-self::node()/child::g 0
Bref tout semble ok.
Je précise que si j'utilise DOM et l'api standard javax.xml.xpath, il n'y a pas d'erreurs ni de résultat non plus.
Quelqu'un à une idée ???
Parce que je seche la
Est ce que ca peut venir des namespaces ou de l'encodage ?
Partager