Erreur fatale: 1: 1: le contenu n'est pas autorisé dans prolog
Je suis en utilisant Java et j'essaie de document XML à partir de certains lien http. Le Code que j'utilise est:
URL url = new URL(link);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
Document doc = null;
CountInputStream in = new CountInputStream(url.openStream());
doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in);
Ne payez pas attention à CountInputStream
c'est une classe spéciale agissant comme des flux d'entrée.
À l'aide du code ci-dessus, j'ai parfois eu erreur Fatal Error :1:1: Content is not allowed in prolog
. Je suppose que c'est a quelque chose à voir avec un mauvais format de xml, mais je n'ai aucune idée de comment le résoudre.
source d'informationauteur guest86
Vous devez vous connecter pour publier un commentaire.
Je suis en tournant mon commentaire de réponse, de sorte qu'il peut être accepté, et cette question n'est plus question demeure sans réponse.
La cause la plus probable de ce qui est un mal formé réponse, qui comprend des caractères avant la première
<?xml …>
. Donc, veuillez consulter le document transféré sur HTTP, et fixez le sur le côté serveur.Il y a certainement des caractères bizarres (par exemple,NOMENCLATURE) ou un peu d'espace avant le XML préambule (
<?xml ...?>
)?Quelqu'un devrait marquer Johannes Weiß commentaire que la réponse à cette question. C'est exactement pourquoi les documents xml ne peut pas être chargé dans un Document DOM classe.
http://en.wikipedia.org/wiki/Byte_order_mark
Semble que vous avez oublié l'ajout de corriger les en-têtes de votre requête get (demandez au RESTE de l'API de développeur ou vous spécifique de la description de l'API):
ou
La vraie solution que j'ai trouvé pour ce problème a été par la désactivation de tout Format XML de post-processeurs. J'ai ajouté un post-processeur appelé "
jp@gc - XML Format Post Processor
" et commença à s'apercevoir de l'erreur "Fatal Error :1:1: Content is not allowed in prolog
"En désactivant le post-processeur avait cessé de jeter les erreurs.