2010-12-08 44 views
3

J'ai développé une application dans Android 2.2 et mes clients me veulent soutenir sur 2.1 J'ai donc une dépendance pour l'analyse syntaxique XML que je suis en utilisant le code suivant:Soutenir mon Android 2.2 application sur Android 2.1

XPathFactory factory = XPathFactory.newInstance(); 
XPath xpath = factory.newXPath(); 
//Set xmlns namespace otherwise xmlns will not be parsed 
xpath.setNamespaceContext(new PersonalNamespaceContext()); 

//Parse XML string 
XPathExpression expr = xpath.compile(CCRKEY1);   
Object result = expr.evaluate(doc, XPathConstants.NODESET); 

Maintenant dans 2.1 je ne peux pas accéder XPathFactory, XPath, XPathExpression Alors quelles pourraient être les méthodes similaires pour les remplacer dans 2.1?

Merci,

Répondre

2

support XPath n'a pas été présent dans 2.1, donc je pense que vous aurez à faire vous-même via l'analyse syntaxique SAX ou DOM, ou utiliser une lib XPath externe, comme jaxen par exemple. Vous pouvez également utiliser la bibliothèque JAXP, qui contient l'implémentation XPath officielle dans Java> 5.

Vous pouvez également conserver les deux méthodes, et utiliser Build.VERSION pour obtenir la version en vertu de laquelle l'application est en cours d'exécution.

+0

Existe-t-il une autre alternative? J'ai appris qu'en ajoutant Java 1.6, cela peut être fait. Comment puis-je le faire? –

+0

Android fonctionne sur son propre framework, qui est un sous-ensemble de Java 1.6, plus ou moins certaines bibliothèques. Ainsi, vous ne pourrez pas "ajouter Java 1.6" à votre application. Tout ce que vous pouvez faire est de trouver une autre façon de faire XPath. –

+0

jaxp-xalan-1.5 ne supporte pas dans 2.1 – Udaykiran