Предисловие
При изучении исходного кода Android -фреймворчатого уровня Android использует XmlpullParser для разрешения исходного кода файла XML. Поэтому здесь также используется XmlpullParser.
XML
XML (расширяемый язык разметки) китайское имя - это масштабируемый язык тегов. Марка относится к информационному символу, который компьютер может понять.
использовать
Конструкция XML использует информацию о передаче и ношении данных.
структура
Каждый документ XML начинается с предисловия XML. Эта строка кода сообщает об этом синхронизации или браузера. Однако имя корневого элемента определяется типом документа или контуром XML.
XmlpullParser
Pull SACERSING XML основан на XML -файлах, управляемых событиями. Переводчик Pull предоставляет четыре типа анализа событий: start_document (начальный документ), end_document Когда вы находитесь в определенном элементе, вы можете вызвать метод getTattributeValue (), чтобы получить значение атрибута. Давайте проанализируем это через пример.
XML -пример файла
Образец файла XML, который необходимо проанализировать, выглядит следующим образом:
<? Sex> </colorague> <коллега id = "2"> <mame> lulu </name> <te> 28 </age> <ses> Girl </sex> </коллега id = "3"> <mame> Чен Шан </name> <возраст> 26 </возраст> <ses> мальчик </sex> </коллега> </коллеги>
XMLPullParser Parser
Пакет Com.shome.shaledemo; Импорт org.xmlpull.v1.xmlpullparserexception; {List <colleague> коллеги = new Arraylist <); ; (); (EventType! = XmlpullParser.ecument) {switch pe) {case xmlpullparser.start_document: break; Значение узла атрибута через GetTattributeValue (i) */ string name = parser.getName (); (Null, "id"));} else if ("name" .quals (names)) {if (colorague! = Null) {colorague.setname (parser.nexttext ());}} else if ("Age" .equals (name)) {if (colorague! = null) {colleague.setage (integer.parseint (parser.nexttext ());}} else if ("sex" .equals (name)) {if (коллега! Null) {colorague.setsex (parser.nexttext ());} break; Null;} eventtype = parser.next ();} lreamer.close ();} catch (xmlpullparserexception e) {// ничего не делаю} catch (ioexception e) {// ничего не делает} вернуть коллеги;}}}}}}}}}}}Среди них определение класса коллеги относительно простое, и код заключается в следующем:
Пакет com.example.shaledemo; Age;} public void setage (int age) {this.age = age;} public String getName () {) d setName (string name) {this.name = name;} public String getSex () {return sex;} public Void setSex (строка Sex) {this.sex = sex;} @Override public String toString () {return "id" + id + ", имя" + name + ", sex" + sex;}}