Question

J'essaie d'analyser un document XML à l'aide de l'analyseur XML Pull. Tout a bien fonctionné jusqu'à ce que je commence à gérer un document XML contenant une déclaration XXML:

Lorsque la déclaration est là, je reçois l'erreur suivante:

02-08 15: 37: 16.960: Warn / System.err (9721): org.xmlpull.v1.xmlpullparserexception: pi doit ne pas commencer avec XML (position: inconnu ï »¿@ 1: 5 dans java.io.inputstreamreader @ 47EC2770)

Si je retire la déclaration du document, tout fonctionne. Il est trop tard pour que je passe à un autre analyseur, donc je dois le faire fonctionner!

Voici à quoi ressemble mon code d'analyseur

XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
    factory.setNamespaceAware(false);
    // factory.setFeature(XmlPullParser.FEATURE_PROCESS_DOCDECL, true);
    XmlPullParser xpp = factory.newPullParser();

    // get a reference to the file.

    File file = new File(Environment.getExternalStorageDirectory() + "/"
            + Constants.SD_CARD_DIR + "/" + Constants.XMLPATH);
    // create an input stream to be read by the stream reader.
    FileInputStream fis = new FileInputStream(file);
    // set the input for the parser using an InputStreamReader
    xpp.setInput(new InputStreamReader(fis));
    int eventType = xpp.getEventType();

    // /

    while (eventType != XmlPullParser.END_DOCUMENT) {...}

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top