XmlPullParser: obtenez un texte interne incluant des balises XML

Supposons que vous ayez un document XML comme ceci:

<root> That was a <b boldness="very">very bold</b> move. </root> 

Supposons que XmlPullParser soit sur la balise d'ouverture pour la racine. Existe-t-il une méthode pratique pour lire tout le texte dans la root d'une String , une sorte de innerHtml dans DOM?

  • Désactiver le basculement entre les onglets
  • Obtenir une liste des fournisseurs de contenu disponibles
  • Utilisation de Butter Knife dans Custom BaseAdapter SubClass Résultats dans l'erreur "Impossible d'injecter des vues"
  • Compass dans Android
  • Comment obtenir un défilement dans edittext lorsqu'il se trouve à l'intérieur de scrollview?
  • Existe-t-il un moyen de cacher les valeurs supérieure et inférieure dans un NumberPicker
  • Ou dois-je écrire moi-même une méthode d'utilité qui recrée la balise analysée? Bien sûr, cela me semble une perte de temps pour moi.

     String myDesiredString = "That was a <b boldness=\"very\">very bold</b> move." 

  • Button Click Listeners in Android
  • Comment configurer un bouton d'annulation dans la boîte de dialogue Progrès?
  • L'exécution a échoué pour la tâche ': app: transformClassesAndResourcesWithProguardForRelease
  • Quelle est la différence entre URI et Uri
  • ShouldNotReachhere classFileParser ANDROID
  • Comment les appels entrants peuvent-ils être répondu par programme dans Android 5.0 (Lollipop)?
  • One Solution collect form web for “XmlPullParser: obtenez un texte interne incluant des balises XML”

    Cette méthode devrait couvrir, mais ne traite pas des balises ou des espaces de noms de singleton.

     public static String getInnerXml(XmlPullParser parser) throws XmlPullParserException, IOException { StringBuilder sb = new StringBuilder(); int depth = 1; while (depth != 0) { switch (parser.next()) { case XmlPullParser.END_TAG: depth--; if (depth > 0) { sb.append("</" + parser.getName() + ">"); } break; case XmlPullParser.START_TAG: depth++; StringBuilder attrs = new StringBuilder(); for (int i = 0; i < parser.getAttributeCount(); i++) { attrs.append(parser.getAttributeName(i) + "=\"" + parser.getAttributeValue(i) + "\" "); } sb.append("<" + parser.getName() + " " + attrs.toString() + ">"); break; default: sb.append(parser.getText()); break; } } String content = sb.toString(); return content; } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.