Prefacio
Al aprender el código fuente de la capa Framework de Android, Android usa XMLPullParser para resolver el código fuente del archivo XML. Por lo tanto, aquí también está el uso de XMLPullParser.
Xml
XML (lenguaje de marcado extensible) El nombre chino es un lenguaje de etiqueta escalable. La marca se refiere al símbolo de información que la computadora puede entender.
usar
El diseño XML utiliza la transmisión y la información de los datos.
estructura
Cada documento XML comienza con el prefacio XML. Esta línea de código le indica al analizador o al navegador. Sin embargo, el nombre del elemento raíz se define por el tipo de documento o el esquema XML.
Xmlpullparser
PUSH PARSING XML se basa en archivos XML impulsados por el evento. El analizador de extracción proporciona cuatro tipos de análisis de eventos: Start_Document (documento inicial), end_document Cuando se encuentra en cierto elemento, puede llamar al método GetTatTruteValue () para obtener el valor del atributo. Analicémoslo a través de un ejemplo.
Archivo de ejemplo XML
El código de archivo de muestra XML que debe analizarse es el siguiente:
<. Sexo> </ Colorague> <colleague id = "2"> <name> lulu </name> <te> 28 </dge> <sexo> girl </sex> </colleague id = "3"> <name> Chen Shan </name> <ge> 26 </dge> <xe sex> boy </ sexo> </colleague> </colegas>
Analizador
paquete com.example.shakedemo; Importar org.xmlpull.v1.xmlpullParserException; {List <Colleague> colegas = new ArrayList <); ; (); (EventType! = Xmlpullparser.ecument) {switch pe) {case xmlpullparser.start_document: break; Valor de nodo de atributo a través de GetTatTruteValue (i) */ String name = parser.getName (); (Nulo, "id"));} else if ("name" .quals (nombres)) {if (colorAgue! = Null) {colorAgue.setName (parser.nextText ());}} else if ("edad" .equals (name)) {if (colorague! = null) {colegue.setage (integer.parseInt (parser.nextText ());}} else if ("sex" .equals (name)) {if (colleag! = NULL) {ColorAgue.SetSEX (parser.nextText ());} break; Null;} eventtype = parser.next ();} lreamer.close ();} catch (xmlpullparserException e) {// no hacer nada} catch (ioexception e) {// no hacer nada} colegas de retorno;}}Entre ellos, la definición de la clase de colega es relativamente simple, y el código es el siguiente:
paquete com.example.shakedemo; Age;} public void setAge (int a age) {this.age = age;} public String getName () {) d setName (name de cadena) {this.name = name;} public String getsex () {return sex;} public Void setsex (string sex) {this.sex = sex;} @Override public string toString () {return "id es" + id + ", el nombre es" + nombre + ", sexo es" + sex;}}