Bonjour,
je suis sur la finalisation d'un projet pour mon travail qui consiste a récupérer des données sur des sites particulier afin des les injecter dans un système.
ce système n'accepte que le fichier texte.
mon projet m'obtiens le resultat sous forme xml.
je dois donc récupérer les valeurs du texte entre 2 balises de mon xml pour créer mon fichier texte.
pour le moment de bric et de broc, j'arrive a lire entre ce fameux tag (si j'en crois le résultat dans ma console). Cependant j'obtiens que 2 résultats la ou mon fichier xml m'en donne beaucoup plus.
enfin je ne sais pas comment créer mon fichier texte a l'issue.
pourriez vous m'aider s'il vous plait, ou a defaut m'orienter vers la solution ?
je vous mon fichier xml dans lequel je souhaite récupérer mon texte (a titre d'exemple car il peut être bcp plus grand en taille
MonFichier.xml
et ci après le code que j'utilise sachant que je l'ai récupéré par ici et un peu agrémente a ma sauce (ma sauce de super novice )
dernière petite question, comment puis je mettre une ligne supplémentaire entre 2 résultats
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 package notams; import java.io.*; import javax.xml.xpath.*; import org.w3c.dom.Document; import org.xml.sax.SAXException; import javax.xml.namespace.*; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; public class Extraction { static File fichier; // Constructeur public Extraction (String url){ fichier = new File(url); } // Méthodes /** * créer une instance de XPath et lui faire évaluer une XPathExpression * @param file * @param expression * @param retour * @return */ public String evaluerDOM(File file, String expression, QName retour){ String texteCopie=null; try{ DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder constructeur = docBuilderFactory.newDocumentBuilder(); Document document = constructeur.parse(file); //création du XPath XPathFactory fabrique = XPathFactory.newInstance(); XPath xpath = fabrique.newXPath(); //évaluation de l'expression XPath XPathExpression exp = xpath.compile(expression); Object resultat = exp.evaluate(document,retour); System.out.println(resultat); texteCopie=(String) resultat; }catch(XPathExpressionException xpee){ xpee.printStackTrace(); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return texteCopie; } /** * @param args */ public static void main(String[] args) { Extraction test = new Extraction("C:\\Users\\moi\\Desktop\\MonFichier.xml"); String resultat = test.evaluerDOM(fichier, "//PRE", XPathConstants.STRING); System.out.println(resultat); } }
par avance merci pour votre aide
Partager