1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
public static SetActions extract() {
// On passe par une classe factory pour obtenir une instance de sax
SAXParserFactory saxfactory = SAXParserFactory.newInstance();
SAXParser saxParser = null;
SetActions actions = null;
URL url = null;
DefaultHandler handler = null;
try {
// On "fabrique" une instance de SAXParser
saxParser = saxfactory.newSAXParser();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
// On défini l'url du fichier XML
try {
url = new URL("file:///android_asset/actions.xml");
} catch (MalformedURLException e1) {
e1.printStackTrace();
}
//Le handler sera gestionnaire du fichier XML c'est à dire que c'est lui qui sera chargé
// des opérations de parsing. On vera cette classe en détails ci après.
handler = new ActionsXMLHandler();
try {
// On parse le fichier XML
InputStream input = url.openStream();
if(input==null) {
Log.e("erreur android","null");
}
else {
saxParser.parse(input, handler);
// On récupère directement la liste des feeds
actions = ((ActionsXMLHandler) handler).getData();
}
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// On la retourne l'array list
return actions;
} |
Partager