2010-11-19 7 views
1

J'ai un problème commeAndroid: parseexception à la ligne 1, column0 aucun élément trouvé?

o

org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: no element found 
org.apache.harmony.xml.ExpatParser.finish(ExpatParser.java:553) Displayed activity com.logictreeit.flight1/com.logictreeit.flight.app.MainTabActivity: 1689 ms (total 1689 ms) 
org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:483) 
    org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:320) 
    org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:293) 

Quelques fois l'analyse avec succès, mais quelques fois il thrwoing ci-dessus erreur.

Mon code est

URL url = new URL(urlString); 
     SAXParserFactory saxParserFactory= SAXParserFactory.newInstance(); 
     SAXParser saxParser = saxParserFactory.newSAXParser(); 
     XMLReader xmlReader = saxParser.getXMLReader(); 
     FlightGuideHandler flightGuideHandler = new FlightGuideHandler(); 
     xmlReader.setContentHandler(flightGuideHandler); 
     inputStream = url.openStream(); 
     xmlReader.parse(new InputSource(urlString)); // am getting error at this line 

peut me aider à régler cette erreur.

Remerciant yoyu, Srinivas

+1

Salut Srinivas, si vous avez résolu ce problème. Moi aussi j'obtiens cette erreur. – David

Répondre

2

Avez-vous vérifié deux fois qu'il n'y a pas d'espace en haut du fichier XML et la déclaration XML est la première chose qui apparaît?

1

au lieu de
inputStream = url.openStream(); xmlReader.parse(new InputSource(urlString));

essayer xmlReader.parse(new InputSource(inputStream)); or
xmlReader.parse(new InputSource(urlString.openStream()));

0

Je pense que vous êtes face à ce problème en raison de xml qui ne sont pas en bonne forme ... Voici un travail autour pour vous. Juste nettoyer xml, avant de l'analyser .... il suffit de remplacer xml '&', avec "& amp;" (ignorer l'espace entre "& amp;") ..... cela peut résoudre votre problème .... car ce type de problème peut apparaître en raison de l'apparition de '&' dans les données XML obtenues.

par exemple: si votre chaîne (xmlString), est vos données XML, puis

xmlString = xmlString.replaceAll ("&", "& amp;"); [Ignorez l'espace entre "& amp;" comme je ne pouvais pas produire le même mot lorsqu'il est enregistré dans le formulaire. ]

vous donnera une chaîne XML sans erreur pour l'analyse.

L'espoir peut sauver votre temps atleast quelques minutes

Cordialement, Sudhin Philip.