Prefácio
Ao aprender o código -fonte da camada de estrutura do Android, o Android usa o XMLPullParser para resolver o código -fonte do arquivo XML. Portanto, aqui também está o uso do XMLPullParser.
Xml
XML (idioma de marcação extensível) O nome chinês é uma linguagem de tag escalável. A marca refere -se ao símbolo de informação que o computador pode entender.
usar
O design XML usa informações de transmissão e dados de dados.
estrutura
Cada documento XML começa com o prefácio XML. Essa linha de código informa ao analisador ou navegador. No entanto, o nome do elemento raiz é definido pelo tipo de documento ou pelo esboço XML.
XmlpullParser
Pull Parsing XML é baseado nos arquivos XML acionados por eventos. O Pull Parser fornece quatro tipos de análise de eventos: start_document (documento inicial), end_document Quando você estiver em um determinado elemento, você pode chamar o método gettattributeValue () para obter o valor do atributo. Vamos analisá -lo através de um exemplo.
Arquivo de exemplo XML
O código de arquivo de amostra XML que precisa ser analisado é o seguinte:
<? xml versão = "1.0" coding = "utf-8"? Sex> </colorague> <colégue id = "2"> <name> Lulu </name> <te> 28 </age> <sex> garota </xex> </colague id = "3"> <name> Chen Shan </name> <age> 26 </age> <ex> menino </xex> </solerague> </solleagues>
Analisador xmlpullparser
pacote com.example.shakedemo; Importar org.xmlpull.v1.xmlpullparserexception; {list <coleague> colegas = novo Arraylist <); Colegas de retorno; experimente; (); (EventType! = XmlpullParser.ecument) {switch PE) {case xmlpullparser.start_document: break; Atributo Valor do nó através do gettattributeValue (i) */ Nome da sequência = parser.getName (); (Null, "id"));} else if ("nome" .quals (nomes)) {if (colorague! = Null) {colorague.setName (parser.nextText ());}} else ("idade" .equals (nome)) {if (colorague! = null) {colague.setage (integer.parseint (parser.nextText ());}} else if ("sexo" .equals (nome)) {if (COLEAG! = NULL) {Colorague.SetSex (Parser.NextText ());} Break; Null;} EventType = parser.Next ();} lreamer.close ();} catch (xmlpullParseRexception e) {// Faça nada} Catch (ioexception e) {// não faça nada} Return Colleagues;}}Entre eles, a definição da classe de colega é relativamente simples, e o código é o seguinte:
pacote com.example.shakedemo; Idade;} public void setage (int Age) {this.age = Age;} public string getName () {) d setName (nome da string) {this.name = name;} public string getSex () {return Sex;} public; public; Void setSex (String Sex) {this.sex = sexo;} @Override public string tostring () {return "id is" + id + ", nome é" + nome + ", sexo é" + sexo;}}}