Weg, um XML (org.w3c.Document) auf Android zu analysieren

Kann jemand mich auf eine Erklärung für oder erklären mir, wie kann ich leicht analysieren die XML und erhalten Werte eines w3c.Document auf Android mit nur Android OS Libs?

Ich habe versucht, eine Implementierung von dom4j zu verwenden, aber es ist sehr langsam 🙁

  • Laden Sie mehrere Dateien mit einem Fortschrittsbalken in ListView Android herunter
  • Abrufen von Datei-Pfad aus gefangenen DownloadManager-Absicht
  • Holen Sie WhatsApp Nachrichten
  • Wie kann ich ein Programm programmgesteuert in Android erstellen?
  • Benutzerdefinierte Filterung ArrayAdapter in ListView
  • SearchView getActionView zurückkehren null
  • Programmatisch geben Sie geheimen Code wie * # * # 4636 # * # * auf Android
  • Constraint on performFiltering gibt null auf das erste Zeichen zurück
  • Erstellen Sie XML-Datei und speichern Sie sie im internen Speicher Android
  • Vorschau-Layout mit Merge-Root-Tag in Intellij IDEA / Android Studio
  • Android: Programmatisch erkennen, ob das Gerät Hardware-Touchscreen angeschlossen hat
  • Wie kann ich vermeiden, dass meine App in der Liste der zuletzt verwendeten Apps angezeigt wird
  • 3 Solutions collect form web for “Weg, um XML (org.w3c.Document) auf Android zu analysieren”

    Sie sollten die SAX-APIs definitiv verwenden. Android XML Parse API Stacks oben auf die normale Java SAX eins so meiner Meinung nach würde ich nur die normale Java SAX API verwenden und auf diese Weise erhalten Sie die Möglichkeit, Ihren Code als normales Java-Desktop-Projekt zu testen.

    XML-Parsing ist immer langsam und mit diesen SAX-Parsern ist so gut wie es bekommt (es sei denn, Sie schreiben einen benutzerdefinierten Parser aus dem Scratch). Wort der Beratung: Versuchen Sie, den String-Vergleich zu minimieren und versuchen Sie, Hasmaps anstelle von langen Ketten zu verwenden, wenn (token.isEqual (CONSTANT_TOKEN)) ;.

    Hier sind ein paar Beispiele für Java XML Parsing: http://java.sun.com/developer/codesamples/xml.html#sax

    Android-XML-API ist deklarativ, das Paradigma ist ein bisschen anders, so dass, wenn Sie sich entscheiden, mit dem zu gehen, bereit sein, ein paar Beispiele zu lesen, um seine Wege zu lernen.

    Schließlich, vielleicht vor 2 Monaten sah ich ein Diagramm Benchmarking DOM vs SAX vs Android XML API (Ich kann nicht ganz finden, die Link jetzt). Die Schlussfolgerung war, dass DOM bei weitem die langsamste und SAX war top aber nicht durch eine riesige Marge über Android XML-Implementierung.

    Hier ist ein Artikel auf Developer.com , der die Leistung der DOM-, SAX- und Pull-Parser auf Android vergleicht. Es fand den DOM-Parser bei weitem der langsamste, dann der Pull-Parser und der SAX-Parser am schnellsten in ihrem Test.

    Wenn du dabei bist, eine Menge Parsing in deiner Anwendung zu machen, lohnt es sich, die verschiedenen Optionen zu sehen, um zu sehen, welche Werke am besten für dich sind.

    Ich habe den XmlPullParser über XmlResourceParser und festgestellt, dass gut funktioniert und war einfach zu bedienen.

    Es funktioniert durch die XML-Rückkehr Ereignisse, die Ihnen sagen, was es dort gefunden wird.

    Wenn du es benutzt, wird dein Code so aussehen:

     XmlResourceParser parser = context.getResources().getXml(R.xml.myfile); try { int eventType = parser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { String name = null; switch (eventType){ case XmlPullParser.START_TAG: name = parser.getName().toLowerCase(); if (name.equals(SOME_TAG)) { for (int i = 0;i < parser.getAttributeCount();i++) { String attribute = parser.getAttributeName(i).toLowerCase(); if (attribute.equals("myattribute")) { String value = parser.getAttributeValue(i); } } } break; case XmlPullParser.END_TAG: name = parser.getName(); break; } eventType = parser.next(); } } catch (XmlPullParserException e) { throw new RuntimeException("Cannot parse XML"); } catch (IOException e) { throw new RuntimeException("Cannot parse XML"); } finally { parser.close(); } 

    Wenn Sie XML, das nicht aus einer Ressourcendatei ist, analysieren möchten, können Sie einen neuen XmlPullParser mit der XmlPullParserFactory Klasse XmlPullParserFactory und dann die setInput() Methode setInput() .

    Wir können auch XPath in Android XML Parsing Dinge ..

    Es ist nützlich, wenn Sie kommen, um viele Daten in Form eines Array zu analysieren.

    Überprüfen Sie diesen Link für XPath Tutorial beim Analysieren von XML Content aus Android.

    Genießen !!

    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.