2011-09-14 7 views
4

J'essaie d'analyser le fichier xhtml existant pour ajouter le contenu du corps supplémentaire dans ce fichier. Je suis en utilisant le code suivant:Obtention de la fin prématurée du fichier Exception

D'abord, je suis en train de lire le corps du Jsoup et je suis en train de le mettre dans le XhtmlFile

Document doc = Jsoup.parse(readFile, "UTF-8"); 
      Elements content = doc.getElementsByTag("body"); 

      try { 
       Document document=null; 
       DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
       // Create the builder and parse the file 
       document = (Document)factory.newDocumentBuilder().parse(finalFile); 
       //document.getElementsByTagName("body")append(content.toString());    
       //document=parserXML(finalFile);     
       document.getElementsByTag("body").append(content.toString()); 

      } catch (SAXException e) { 
       System.out.println("SAXException>>>>>>"); 
       e.printStackTrace(); 
      } catch (ParserConfigurationException e) { 
       System.out.println("in parser configuration Exception block>>>>>>"); 
       e.printStackTrace(); 
      } 

Mais je reçois l'exception suivante:

[Fatal Error] ResultParsedFile.html:1:1: Premature end of file. 
org.xml.sax.SAXParseException: Premature end of file. 
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) 
    at javax.xml.parsers.DocumentBuilder.parse(Unknown Source) 
    at com.converter.typeconverter.EmailTypeConverter.readHTML(EmailTypeConverter.java:101) 
    at com.converter.typeconverter.EmailTypeConverter.callTika(EmailTypeConverter.java:64) 
    at com.converter.master.ApplicationMain.main(ApplicationMain.java:64) 

me Plese aider à résoudre ce problème ...

Merci à l'avance ...

+1

Semble que finalFile n'est probablement pas un fichier XML valide ... –

+0

S'il s'agit de XHTML, vous devriez pouvoir l'analyser avec un analyseur XML. Jsoup n'est pas spécialement destiné aux cassés! X! HTML. – bmargulies

+0

@Jon signifie que je ne peux pas utiliser d'analyseurs DOM ou SAX pour analyser, mais de jsoup je reçois le contenu du corps du fichier html dont j'ai besoin, je veux juste injecter ce message dans le corps du fichier xhtml (finalfile). ton temps. Tout pointeur à cet égard .. – ramesh

Répondre

1

Le message indique que vous avez un fichier XML mal formé. Habituellement, quand j'ai reçu ce message, j'avais une balise d'ouverture sans balise de fin correspondante. Je pense que vous obtiendrez également ceci sur un dossier vide.

+0

J'utilise le fichier xhtml, dans lequel je veux ajouter une partie du corps. mais la page squelette xhtml avec les balises d'ouverture et de fermeture appropriées sont disponibles. – ramesh

2

Si vous obtenez cette erreur à la première position du fichier (indiquée par 1: 1) cela signifie que le fichier est vide. Peut-être que vous commencez à lire le fichier avant que la source ne le ferme?

Si vous utilisez un flux d'entrée (ce qui n'est pas le cas ici), cela peut se produire lorsque vous réutilisez un flux que vous avez déjà utilisé pour atteindre la fin du fichier. Vous devez créer un nouveau flux à partir du fichier d'entrée afin de le réinitialiser depuis le début du fichier.

0

j'avais connu récemment cette erreur, se révèle l'un de mes fichiers .hbm.xml était produit comme vide, l'erreur a été générée à partir du contexte d'application XML qui faisait référence au fichier HBM

0

1.xml est Illisible. 2.Pour rectifier le xml, seule l'option est de glisser-déposer dans la feuille de calcul, l'erreur sera mise en évidence plus claire.après avoir fait la correction suggérée xml sera finalement chargé dans la feuille de calcul.puisque xml qui sera chargé ne rencontrera aucun problème d'analyse

Questions connexes