


Beispielcode für die gemeinsame Nutzung des Schleifenprozesses bei Verwendung von PULL zum Parsen von XML-Dateien
XMLDer Inhalt der Datei ist wie folgt (benannt „teacher.xml“) Verwenden Sie PULL, um den XML-Code der Datei zu analysieren:
import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; public class PullTry { public static void main(String[] args) { List datas = null; Teacher teacher = null; try { XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); XmlPullParser parser = factory.newPullParser(); parser.setInput(new FileReader("teacher.xml")); int eventType = parser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { String tagName = parser.getName(); switch (eventType) { case XmlPullParser.START_DOCUMENT: // 创建list datas = new ArrayList<>(); break; case XmlPullParser.START_TAG: // 创建Teacher对象 if ("teacher".equals(tagName)) { teacher = new Teacher(); } else if ("name".equals(tagName)) { teacher.setName(parser.nextText()); } else if ("age".equals(tagName)) { teacher.setAge(Integer.parseInt(parser.nextText())); } else if ("money".equals(tagName)) { teacher.setMoney(Double.parseDouble(parser.nextText())); } break; case XmlPullParser.END_TAG: // 把对象添加进List集合中 if ("teacher".equals(tagName)) { datas.add(teacher); } break; default: break; } // 将eventType指向下一步... eventType = parser.next(); } } catch (XmlPullParserException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } for (int i = 0; i < datas.size(); i++) { System.out.println(datas.get(i)); } System.out.println(count); } }
Hier sehen wir uns hauptsächlich an, wie die XML-Datei innerhalb der while-Schleife gelesen wird..
Das erste Bedingung der Schleife ist eventType != XmlPullParser
Wenn eventType nicht gleich XmlPullParser.END_DOCUMENT ist, fahren Sie mit der nächsten Schleife fort. Hier gibt es 11 eventType-Werte, es werden jedoch nur die ersten 5 verwendet.
public static final int START_DOCUMENT = 0; public static final int END_DOCUMENT = 1; public static final int START_TAG = 2; public static final int END_TAG = 3; public static final int TEXT = 4;
Um den Prozess der Schleifenausführung zu beobachten, habe ich eine Codezeile in die Schleife eingefügt:
System.out.println(eventType+"===第"+count+"次循环==="+tagName);
wobei count die Häufigkeit angibt, mit der die Schleife ausgeführt wird. Nach dem Hinzufügen dieser Codezeile zeigt die Konsole die folgenden Informationen an:
0===第1次循环===null 2===第2次循环===teachers 4===第3次循环===null 2===第4次循环===teacher 4===第5次循环===null 2===第6次循环===name 4===第7次循环===null 2===第8次循环===age 4===第9次循环===null 2===第10次循环===money 4===第11次循环===null 3===第12次循环===teacher 4===第13次循环===null 2===第14次循环===teacher 4===第15次循环===null 2===第16次循环===name 4===第17次循环===null 2===第18次循环===age 4===第19次循环===null 2===第20次循环===money 4===第21次循环===null 3===第22次循环===teacher 4===第23次循环===null 3===第24次循环===teachers Teacher [name=zhangsan, age=19, money=12000.0] Teacher [name=lisi, age=23, money=8000.0] 24
Zuerst lesen Sie nur dann, wenn der nächste eventType-Wert 4 ist (d. h. TEXT wird in der nächsten Schleife gelesen). Inhalt von parser.nextText() ist nicht leer
In Kombination mit der XML-Datei können wir die Schlussfolgerung ziehen:
In der ersten Schleife ist der eventType-Wert 0, was der Fall ist START_DOCUMENT. Zu diesem Zeitpunkt ist der tagName-Wert leer.
In der zweiten Schleife ist der eventType-Wert 2, was bei START_TAG der Fall ist. Zu diesem Zeitpunkt lautet der tagName-Wert teacher. Mit anderen Worten: Das Tag wird zu diesem Zeitpunkt gelesen. Da der nächste EventType-Wert 4 ist, also TEXT, ist der parser.nextText()-Wert des diesmal gelesenen Inhalts der Textinhalt vom Etikett bis zur Mitte des Etiketts! Das heißt, ein /n plus ein /t.
In der dritten Schleife ist der eventType-Wert 4, was bei TEXT der Fall ist. Zu diesem Zeitpunkt ist der tagName-Wert leer.
Im vierten Zyklus ist der eventType-Wert 2, was bei START_TAG der Fall ist. Zu diesem Zeitpunkt lautet der tagName-Wert teacher. Mit anderen Worten: Das Tag wird zu diesem Zeitpunkt gelesen. Hinweis: Zu diesem Zeitpunkt stellt die if-Anweisung fest, dass der Rückgabewert von „teacher“.equals(tagName) wahr ist, und der folgende Befehl teacher = new Teacher(); wird ausgeführt, um ein Objekt der Teacher-Klasse zu erstellen. Da der nächste EventType-Wert 4 ist, also TEXT, ist der parser.nextText()-Wert des diesmal gelesenen Inhalts der Textinhalt von der Beschriftung bis zur Mitte der Beschriftung, also eins /n plus zwei /t.
In der fünften Schleife ist der eventType-Wert 4, was bei TEXT der Fall ist. Zu diesem Zeitpunkt ist der tagName-Wert leer.
Im sechsten Zyklus ist der eventType-Wert 2, was bei START_TAG der Fall ist. Zu diesem Zeitpunkt ist der tagName-Wert name. Mit anderen Worten: Das Tag wird zu diesem Zeitpunkt gelesen. Hinweis: Zu diesem Zeitpunkt stellt die if-Anweisung fest, dass der Rückgabewert von „name“.equals(tagName) wahr ist, und der folgende Wert teacher.setName(parser.nextText()); () hier sollte zhangsan sein. Auf diese Weise wird Zhangsan dem Namens Attribut des Lehrerobjekts zugewiesen.
Im siebten Zyklus beträgt der eventType-Wert 4, was bei TEXT der Fall ist. Zu diesem Zeitpunkt ist der tagName-Wert leer.
Es scheint nicht nötig zu sein, noch etwas zu sagen, es bedeutet alles dasselbe.
ps: Jedes Mal, wenn ein Teacher-Tag angetroffen wird (Teacher-Tag ist ein untergeordnetes Tag, Teachers ist ein übergeordnetes Tag), wird ein Objekt erstellt und dann die Enkel-Tags (Name, Alter und Geld). ) wird den Eigenschaften dieses Objekts zugewiesen.
ps2: In diesem Beispiel wird der Endtag im Enkel-Tag nicht gelesen. (Das ist es...) xbox: Es gibt nur drei Fälle, in denen der eventType-Wert 3 ist. In diesen drei Fällen lauten die tagName-Werte teacher, teacher bzw. teacher. Es beweist weiter, dass PS2 Recht hat....Das obige ist der detaillierte Inhalt vonBeispielcode für die gemeinsame Nutzung des Schleifenprozesses bei Verwendung von PULL zum Parsen von XML-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Können XML-Dateien mit PPT geöffnet werden? XML, Extensible Markup Language (Extensible Markup Language), ist eine universelle Auszeichnungssprache, die häufig im Datenaustausch und in der Datenspeicherung verwendet wird. Im Vergleich zu HTML ist XML flexibler und kann eigene Tags und Datenstrukturen definieren, wodurch die Speicherung und der Austausch von Daten komfortabler und einheitlicher werden. PPT oder PowerPoint ist eine von Microsoft entwickelte Software zum Erstellen von Präsentationen. Es bietet eine umfassende Möglichkeit

Verwenden von Python zum Zusammenführen und Deduplizieren von XML-Daten XML (eXtensibleMarkupLanguage) ist eine Auszeichnungssprache, die zum Speichern und Übertragen von Daten verwendet wird. Bei der Verarbeitung von XML-Daten müssen wir manchmal mehrere XML-Dateien zu einer zusammenführen oder doppelte Daten entfernen. In diesem Artikel wird erläutert, wie Sie mit Python die Zusammenführung und Deduplizierung von XML-Daten implementieren und entsprechende Codebeispiele angeben. 1. XML-Daten zusammenführen Wenn wir mehrere XML-Dateien haben, müssen wir sie zusammenführen

Konvertieren Sie XML-Daten in Python in das CSV-Format. XML (ExtensibleMarkupLanguage) ist eine erweiterbare Auszeichnungssprache, die häufig zur Datenspeicherung und -übertragung verwendet wird. CSV (CommaSeparatedValues) ist ein durch Kommas getrenntes Textdateiformat, das häufig für den Datenimport und -export verwendet wird. Bei der Datenverarbeitung ist es manchmal erforderlich, XML-Daten zur einfachen Analyse und Verarbeitung in das CSV-Format zu konvertieren. Python ist mächtig

Implementieren des Filterns und Sortierens von XML-Daten mit Python Einführung: XML ist ein häufig verwendetes Datenaustauschformat, das Daten in Form von Tags und Attributen speichert. Bei der Verarbeitung von XML-Daten müssen wir die Daten häufig filtern und sortieren. Python bietet viele nützliche Tools und Bibliotheken zum Verarbeiten von XML-Daten. In diesem Artikel wird erläutert, wie Sie mit Python XML-Daten filtern und sortieren. Lesen der XML-Datei Bevor wir beginnen, müssen wir die XML-Datei lesen. Python verfügt über viele XML-Verarbeitungsbibliotheken.

Importieren von XML-Daten in die Datenbank mit PHP Einführung: Während der Entwicklung müssen wir häufig externe Daten zur weiteren Verarbeitung und Analyse in die Datenbank importieren. Als häufig verwendetes Datenaustauschformat wird XML häufig zum Speichern und Übertragen strukturierter Daten verwendet. In diesem Artikel wird erläutert, wie Sie mit PHP XML-Daten in eine Datenbank importieren. Schritt 1: XML-Datei analysieren Zuerst müssen wir die XML-Datei analysieren und die erforderlichen Daten extrahieren. PHP bietet mehrere Möglichkeiten zum Parsen von XML. Die am häufigsten verwendete davon ist die Verwendung von Simple

Python implementiert die Konvertierung zwischen XML und JSON. Einführung: Im täglichen Entwicklungsprozess müssen wir häufig Daten zwischen verschiedenen Formaten konvertieren. XML und JSON sind gängige Datenaustauschformate. In Python können wir verschiedene Bibliotheken zum Konvertieren zwischen XML und JSON verwenden. In diesem Artikel werden mehrere häufig verwendete Methoden mit Codebeispielen vorgestellt. 1. Um XML in Python in JSON zu konvertieren, können wir das Modul xml.etree.ElementTree verwenden

Behandeln von Fehlern und Ausnahmen in XML mit Python XML ist ein häufig verwendetes Datenformat zum Speichern und Darstellen strukturierter Daten. Wenn wir Python zum Verarbeiten von XML verwenden, können manchmal Fehler und Ausnahmen auftreten. In diesem Artikel werde ich die Verwendung von Python zur Behandlung von Fehlern und Ausnahmen in XML vorstellen und einige Beispielcodes als Referenz bereitstellen. Verwenden Sie Try-Exception-Anweisungen, um XML-Parsing-Fehler abzufangen. Wenn wir Python zum Parsen von XML verwenden, können manchmal Fehler auftreten

Python analysiert Sonderzeichen und Escape-Sequenzen in XML. XML (eXtensibleMarkupLanguage) ist ein häufig verwendetes Datenaustauschformat, das zum Übertragen und Speichern von Daten zwischen verschiedenen Systemen verwendet wird. Bei der Verarbeitung von XML-Dateien kommt es häufig vor, dass Sonderzeichen und Escape-Sequenzen enthalten sind, die zu Analysefehlern oder einer Fehlinterpretation der Daten führen können. Daher müssen wir beim Parsen von XML-Dateien mit Python verstehen, wie mit diesen Sonderzeichen und Escape-Sequenzen umgegangen wird. 1. Sonderzeichen und
