SaxParseException dans eclipse: structures de document XML doit commencer et se terminer dans la même entité
Je suis l'aide de la dernière.fm API JAVA qui peut être trouvé ici .
J'ai un énorme Dataset dans lequel je suis seulement en utilisant le fichier de l'utilisateur de l'artiste de l'histoire et de la joue. J'ai écrit un code en Java, ce qui extrait ces noms d'artiste et renvoie les artistes similaires basées sur Artist.getSimilar()
méthode.
J'ai couru qu'une fois, mais pas pour tous les artistes. J'ai résilié le débogage de la moitié du chemin. Cependant,la prochaine fois, mes résultats ont été retournés à partir de la mémoire cache et n'est plus a la requête envoyée au serveur web. Le problème est, cette fois, je suis l'obtention de résultats que jusqu'à l'artiste où j'avais résilié les résultats. J'ai essayé d'utiliser une autre méthode pour l' artists=Artist.getTopAlbums()
, où j'ai mis fin à mi-chemin et face au même problème la prochaine fois. L'erreur que je reçois est:
[Fatal Error] :513:9: <strong>XML document structures must start and end within the same entity.</strong>
Exception in thread "main" de.umass.lastfm.CallException: org.xml.sax.SAXParseException; lineNumber: 513; columnNumber: 9; XML document structures must start and end within the same entity.
Caused by: org.xml.sax.SAXParseException; lineNumber: 513; columnNumber: 9; XML document structures must start and end within the same entity.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:251)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:300)
et un tas d'autres exceptions qui n'est pas le plus important ici.
J'ai essayé de réinstaller l'éclipse, à partir de l'éclipse dans -clean
mode et le nettoyage de l'espace de travail. Rien n'a fonctionné. J'ai créé un nouvel espace de travail aussi, mais le cache ne cesse de revenir en arrière. Je suis à l'aide d'Eclipse 3.8 . Peut-être un moyen efficace pour effacer le cache dans eclipse aiderait? Comment pourrais-je le faire. Rien ne semble fonctionner. (Aussi, il n'y a pas d'option pour nettoyer manuellement le cache de la Fenêtre de>Préférences comme il était suggéré dans de nombreux articles).
Ou dois-je faire autre chose? Toute aide est très appréciée. Merci à l'avance.
Mon code java (qui fonctionne parfaitement bien,aucune erreur à ce sujet):
//in main
BufferedReader inp = new BufferedReader (new InputStreamReader(System.in));
String sinput=inp.readLine();
System.out.println(sinput+"\t \t \t"+getSimilarartists(sinput));
//to fetch similar artists
public static StringBuilder getSimilarartists(String artist){
String key = "af2bfbcb4dd49870fdb8e92f128f4ff7";
StringBuilder sb = new StringBuilder();
String art=(Artist.getSimilar(artist, key)).toString();
int i=0;
while(i<art.length()-5){
if((art.substring(i, (i+4))).equalsIgnoreCase("name")){
i=i+6;
while(art.charAt(i)!='\''){
sb.append(art.charAt(i));
i++;
}
break;
}
i++;
}
return sb;
}
De sortie(juste la dernière quelques lignes):
hans zimmer; I recommend=Hans Zimmer & James Newton Howard<br>
nelly furtado; I recommend=Jennifer Lopez<br>
madonna; I recommend=Kylie Minogue<br>
blink-182; I recommend=Box Car Racer<br>
dave gahan; I recommend=Depeche Mode<br>
kelly clarkson; I recommend=Carrie Underwood<br>
lucie silvas; I recommend=Delta Goodrem<br>
natalie imbruglia; I recommend=Melanie C<br>
michelle branch; I recommend=The Wreckers<br>
delta goodrem; I recommend=Ricki-Lee<br>
new order; I recommend=Electronic<br>
seal; I recommend=Simply Red<br>
atomic kitten; I recommend=Liberty X
*** (this is where I had terminated my previous run) ***
[Fatal Error] :513:9: XML document structures must start and end within the same entity.<br>
Exception in thread "main" de.umass.lastfm.CallException: org.xml.sax.SAXParseException; lineNumber: 513; columnNumber: 9; XML document structures must start and end within the same entity.
at de.umass.lastfm.Caller.call(Caller.java:268)<br>
at de.umass.lastfm.Caller.call(Caller.java:189)<br>
at de.umass.lastfm.Caller.call(Caller.java:185)<br>
at de.umass.lastfm.Artist.getSimilar(Artist.java:144)<br>
at de.umass.lastfm.Artist.getSimilar(Artist.java:132)<br>
at Recommender.getSimilarartists(Recommender.java:89)<br>
at Recommender.main(Recommender.java:58)<br>
Caused by: org.xml.sax.SAXParseException; lineNumber: 513; columnNumber: 9; XML document structures must start and end within the same entity.<br>
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:251)
at <br>
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:300)<br>
at de.umass.lastfm.Caller.createResultFromInputStream(Caller.java:324)<br>
at de.umass.lastfm.Caller.call(Caller.java:256)<br>
... 6 more
OriginalL'auteur HackCode | 2014-04-18
Vous devez vous connecter pour publier un commentaire.
Erreurs de ce genre sont généralement un bon indicateur d'une mauvaise mise en forme du document:
Quelques choses que vous pouvez faire pour déboguer ce:
OriginalL'auteur Mike Thomsen
Ni Éclipse ni Java cache de contenu web lorsque vous faites régulièrement des I/O. Le contenu peut être mis en cache quelque part d'autre. Peut-être de.umass.lastfm API que vous utilisez est en train de faire cela. Peut-être il ya quelque chose dans votre système d'exploitation ou sur votre réseau.
Je suis d'accord avec @Deduplicator. "Réponse" à de soi ne veut pas dire seulement toute réponse utile, il est défini comme quelque chose qui fournit une réponse à la question (pas dans le sens de "répondre" ou "réponse"; dans le sens de la résolution de la question soulevée dans la question). Une remarque de compensation une idée fausse de la question et de donner de vagues conseils sur ce qui général des zones de regarder dans la recherche d'une solution n'est pas une réponse valable. Cela devrait être un commentaire.
Ma réponse s'adresse directement aux questions soulevées dans la question. Il n'est pas de fournir une solution complète, mais il est exagéré de dire qu'il ne veut pas répondre aux questions posées.
Eh bien, c'est dans la LQP examen de la file d'attente (où j'ai rencontré), et le courant de vote est de 4-0 en faveur de la suppression. Vous semblez être l'interprétation de "répondre" dans le sens de "réponse". Je n'ai pas dit qu'il n'a pas de l'adresse les questions soulevées dans la question; je suis en train de dire que la "réponse" ne signifie pas que toutes les réponses qui traite de la question dans la question. L'OP est de se demander pourquoi ce qui se passe, et cette "réponse" n'a même pas d'expliquer en partie pourquoi, qu'il est fondamentalement juste dit "Java et Eclipse ne produisent pas ce problème, donc chercher ailleurs". Je ne peux pas voir ça comme une réponse. C'est à la communauté de décider...
Par votre définition de la réponse, la moitié des réponses sur la serait pas qualifier. Dans la pratique, c'est une réponse s'il répond à certaines des questions soulevées, dont la mienne. La accepté de répondre est celle qui frappe la ferme pour une solution complète, qui n'est pas souvent possible. Alors, vaut-il mieux avoir réponse partielle ou pas de réponses?
OriginalL'auteur Konstantin Komissarchik