Heim Backend-Entwicklung XML/RSS-Tutorial Beispielcode für die gemeinsame Nutzung des Schleifenprozesses bei Verwendung von PULL zum Parsen von XML-Dateien

Beispielcode für die gemeinsame Nutzung des Schleifenprozesses bei Verwendung von PULL zum Parsen von XML-Dateien

Mar 18, 2017 pm 04:40 PM

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);
}
}
Nach dem Login kopieren

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;
Nach dem Login kopieren

Um den Prozess der Schleifenausführung zu beobachten, habe ich eine Codezeile in die Schleife eingefügt:

System.out.println(eventType+"===第"+count+"次循环==="+tagName);
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Kann ich eine XML-Datei mit PowerPoint öffnen? Kann ich eine XML-Datei mit PowerPoint öffnen? Feb 19, 2024 pm 09:06 PM

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

Verwendung von Python zum Zusammenführen und Deduplizieren von XML-Daten Verwendung von Python zum Zusammenführen und Deduplizieren von XML-Daten Aug 07, 2023 am 11:33 AM

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 Konvertieren Sie XML-Daten in Python in das CSV-Format Aug 11, 2023 pm 07:41 PM

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

XML-Daten mit Python filtern und sortieren XML-Daten mit Python filtern und sortieren Aug 07, 2023 pm 04:17 PM

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 Sie XML-Daten mit PHP in die Datenbank Importieren Sie XML-Daten mit PHP in die Datenbank Aug 07, 2023 am 09:58 AM

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 Python implementiert die Konvertierung zwischen XML und JSON Aug 07, 2023 pm 07:10 PM

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 Behandeln von Fehlern und Ausnahmen in XML mit Python Aug 08, 2023 pm 12:25 PM

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 Python analysiert Sonderzeichen und Escape-Sequenzen in XML Aug 08, 2023 pm 12:46 PM

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

See all articles