Vorwort
Beim Lernen von Androids Framework Layer -Quellcode verwendet Android XMLPullPlparser, um den Quellcode der XML -Datei zu beheben. Daher ist hier auch die Verwendung von XMLPullPlparser.
Xml
XML (Extensible Markup Language) Chinesischer Name ist eine skalierbare Tag -Sprache. Die Marke bezieht sich auf das Informationssymbol, das der Computer verstehen kann.
verwenden
Das XML -Design verwendet die Übertragung und das Tragen von Daten.
Struktur
Jedes XML -Dokument startet mit dem XML -Vorwort. Diese Codezeile teilt dem Parser oder Browser mit. Diese Datei sollte gemäß den XML -Regeln analysiert werden. Der Name des Stammelements wird jedoch durch den Dokumenttyp oder den XML -Umriss definiert.
XmlpullParser
Pull Parsing XML basiert auf Ereignis -gesteuerten XML -Dateien. Der Pull -Parser enthält vier Ereignisanalysetypen: start_document (Startdokument), end_document Wenn Sie sich in einem bestimmten Element befinden, können Sie die Methode GetTatTributeValue () aufrufen, um den Wert des Attributs zu erhalten. Lassen Sie es uns durch ein Beispiel analysieren.
XML -Beispieldatei
Der XML -Beispiel -Dateicode, der analysiert werden muss, lautet wie folgt:
<? Sex> </colorague> <kollegue id = "2"> <name> lulu </name> <te> 28 </age> <sex> Mädchen </sex> </kollegen id = "3"> <name> Chen Shan </name> <Age> 26 </age> <sex> Junge </sex> </kollegen> </kollegen>
XmlpullParser -Parser
Paket com.example.shakedemo; Org.xmlpull.v1.xmlpullPlarSerexception; {LIST <Kollegin> kollegen = new ArrayList <); ; (); (EventType! Attribut -Knotenwert durch GetTatTributeValue (i) */ String name = parser.getName (); (Null, "id"));} else if ("name" .Quals (Namen)) {if (colorague! .equals (name)) {if (colorague! Null) {Colorague.SetSex (Parser.NextText ());} break; Null;} eventType = parser.Next ();} lreamer.close ();} catch (xmlpullPullSerexception e) {// nichts} catch (ioException e) {// nichts} return kollegen;}}Unter ihnen ist die Definition der Kollegenklasse relativ einfach und der Code lautet wie folgt:
Paket com.example.shakedemo; Alter;} public void setage (int age) {this.age = Alter;} public String getName () {) d setName (String name) {this.name = name;} public String getSex () {return sex;} public public Void setsex (String sex) {this.sex = sex;} @Override public String toString () {return "id id" + id + ", Name ist" + name + ", sex" + sex;}}