Avant-propos
Lors de l'apprentissage du code source de la couche Framework d'Android, Android utilise XMLPullParser pour résoudre le code source du fichier XML. Par conséquent, voici également l'utilisation de XMLPullParser.
Xml
XML (Langue de balisage extensible) Le nom chinois est une langue d'étiquette évolutive. La marque fait référence au symbole d'information que l'ordinateur peut comprendre.
utiliser
La conception XML utilise des informations sur les données de transmission et de transport.
structure
Chaque document XML commence par la préface XML. Cette ligne de code indique à l'analyseur ou au navigateur. Cependant, le nom de l'élément racine est défini par le type de document ou le contour XML.
Xmlpullparser
Pulstage XML est basé sur des fichiers XML pilotés par l'événement. Le Pull Parser fournit quatre types d'analyse d'événements: start_document (document de départ), end_Document Lorsque vous êtes dans un certain élément, vous pouvez appeler la méthode getTattributeValue () pour obtenir la valeur de l'attribut. Analysons-le par un exemple.
Fichier d'exemple XML
L'exemple de code de fichier XML qui doit être analysé est le suivant:
<? Sex> </ Colorague> <collègue id = "2"> <name> lulu </name> <y te> 28 </ge> <Sex> Girl </XEX> </ collègue id = "3"> <name> Chen Shan </name> <age> 26 </ge> <Sex> Boy </XEX> </COLLEAGE> </CONCELAGUES>
Parser XMLPullParser
package com.example.shakedo; Import org.xmlpull.v1.xmlpullParseRexception; {List <ColElAGE> collègues = new ArrayList <); null; ; (); (EventType! = XmlPullParser.ecument) {Switch PE) {case xmlpullParser.Start_Document: Break; Valeur du nœud d'attribut via getTattributeValue (i) * / String name = parser.getName (); (Null, "id"));} else if ("name" .quals (names)) {if (coloriague! = Null) {coloregue.setName (parser.nextText ());}} else if ("age" .equals (name)) {if (coloreAgue! = null) {collègue.setage (Integer.ParseInt Null) {Colorague.setSex (parser.NextText ();} cassure; Null;} eventType = parser.next ();} lreamer.close ();} catch (xmlpullParSerexception e) {// ne rien faire} catch (ioException e) {// ne rien faire} return collègues;}}Parmi eux, la définition de la classe de collègues est relativement simple et le code est le suivant:
package com.example.shakedo; Âge;} public void Setage (int Age) {this.age = age;} public String getName () {) d setName (String name) {this.name = name;} public String getSEX () {return sexe;} public Void setSEx (String Sex) {this.sex = sexe;} @Override public String toString () {return "id is" + id + ", le nom est" + name + ", le sexe est" + sexe;}}