Bonjour à tous,
J'ai un problème avec JDOM et j'aimerais avoir votre aide s'il vous plaît.
Je travaille avec JDOM pour la génération de fichiers côté client qui seront traités côté serveur (de mon application). Pour se faire, j'ai lu la doc fournie par le site ici, aussi bien pour la création que la lecture de fichiers XML.
A la création, tout se passe bien. J'ai un fichier au format suivant:
Pour la lecture, mon code est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="UTF-8"?> <application> <transfert classe="P2"> <seller>2338</seller> <operator>Test</operator> <customer>9440</customer> <amount>250</amount> <date>2010-10-09 02:45:28 PM</date> </transfert> </application>
Mais l'exception suivante est levée:
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 SAXBuilder sxb = new SAXBuilder(); String[] array; File dir = new File(dirname); array = dir.list(); System.out.println("Lecture du répertoire " + dirname + "... "); Fichier.getInstance().ecrireFichier(Fichier.fichierRequetes, "Lecture du répertoire " + dirname + "..."); Arrays.sort(array); for (int i = 0; i < array.length; i++) { System.out.println("--" + dirname + "\\" + array[i]); Fichier.getInstance().ecrireFichier(Fichier.fichierRequetes, "--" + dirname + "\\" + array[i]); try { document = sxb.build(new File(dirname + "\\" + array[i])); } catch (Exception e) { e.printStackTrace(); logger = new MyLogger(MyLogger.file); logger.getLog().log(Level.SEVERE, e.getMessage(), (Throwable) e); } //On initialise un nouvel élément racine avec l'élément racie du document racine = (Element) document.getRootElement(); extractData(); System.out.println("Déplacement du fichier " + dirname + "\\" + array[i] + "..."); Fichier.getInstance().ecrireFichier(Fichier.fichierRequetes, "Déplacement du fichier " + dirname + "\\" + array[i] + "..."); File file = new File(dirname + "\\" + array[i]); File archiveFile = new File(archive + "\\" + array[i]); if (file.renameTo(archiveFile)) { System.out.println("Déplacement du fichier " + dirname + "\\" + array[i] + " OK"); Fichier.getInstance().ecrireFichier(Fichier.fichierRequetes, "Déplacement du fichier " + dirname + "\\" + array[i] + " OK"); } }
Désolée pour tous ces codes. Je ne sais pas d'où provient mon erreur, d'autant plus qu'avant tout se passait bien. Si quelqu'un peut m'aider...
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 11 oct. 2010 15:27:55 messages.ReadXMLFile init GRAVE: Error on line 1 of document file:/C:/application20101009024528PM75082338.xml: Premature end of file. org.jdom.input.JDOMParseException: Error on line 1 of document file:/C:/EvendingFiles/evending20101009024528PM75082338.xml: Premature end of file. at org.jdom.input.SAXBuilder.build(SAXBuilder.java:530) at org.jdom.input.SAXBuilder.build(SAXBuilder.java:905) at org.jdom.input.SAXBuilder.build(SAXBuilder.java:884) at messages.ReadXMLFile.init(ReadXMLFile.java:143) at phase1.MessageReception$RemindTask.run(MessageReception.java:41) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Caused by: org.xml.sax.SAXParseException: Premature end of file. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388) at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1058) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at org.jdom.input.SAXBuilder.build(SAXBuilder.java:518) ... 6 more
Merci d'avance.
Partager