2011-06-07 8 views
1

Ceci est le code que j'utilisais pour Android 2.3. et il fonctionne pour fonctionner correctement. Mais ne pas pourquoi il ne semble pas fonctionner dans Android 3,0documentbuilderfactory ne fonctionne pas dans Android 3.0

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
     try 
     { 

      try 
      { 
      while(this.xml.available()>0) 
      Log.e("content", ""+this.xml.read()); 
      } 
      catch (Exception e) { 
       // TODO: handle exception 
       Log.e("error", "while reading the file"); 
      } 
      this.xml.reset(); 

      DocumentBuilder builder = factory.newDocumentBuilder(); 
      Document dom = builder.parse(this.xml); 
      Element root = dom.getDocumentElement(); 
      Log.d(TAG, "have root?"+dom.getLocalName());; 
      Log.d(TAG, "have root?"+dom.getInputEncoding());; 
      Log.d(TAG, "have root?"+dom.getNodeValue());; 
} 
     catch (Exception e) 
     { 
      Log.e(TAG, e.getMessage(), e); 
     } 
     //Log.d(TAG, "Exit: parse"); 
     return stores; 
    } 

Le innner en affiche les contenus de fichiers en nombre. Mais quand je reçois le dom. * Je reçois null pourquoi est-ce le cas?

Des suggetions?

+0

root.getTagName() retourne l'étiquette de tête appropriée .. mais lorsque je tente articles NodeList = root.getElementsByTagName ("somenode"); Je reçois toujours zéro –

Répondre

0

semble que l'accès à l'élément est un peu différent maintenant.

Pour d'autres, découvrez les nouvelles façons de l'écrire.

Merci

1

En fait, il y avait quelques bugs dans DOM pour les versions Android avant Android 3.0 Ces bugs sont corrigés dans la version 3.0 afin qu'il pourrait y avoir quelques changements nécessaires dans les anciennes implantations effectuées par vous à l'aide DOM

s'il vous plaît se référer à ce lien

http://code.google.com/p/android/issues/detail?id=2735#c11

Vive Himanshu

1

N'utilisez pas Élément racine = dom.getDocumentElement();

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder builder = factory.newDocumentBuilder(); 
Document dom = builder.parse(stream); 

NodeList nodeResponse = dom.getElementsByTagName("rootelement"); 
Questions connexes