序文
Androidのフレームワークレイヤーソースコードを学習するとき、AndroidはXMLPullParserを使用してXMLファイルのソースコードを解決します。したがって、XmlPullParserの使用もここにあります。
XML
XML(拡張可能なマークアップ言語)中国語名はスケーラブルなタグ言語です。マークは、コンピューターが理解できる情報記号を指します。
使用
XMLデザインは、データを使用しているため、HTML言語はパフォーマンスデータを使用しています。
構造
各XMLドキュメントは、XMLの序文で始まります。このコードは、パーサーまたはブラウザを指示します。ただし、ルート要素の名前は、ドキュメントタイプまたはXMLアウトラインによって定義されます。
xmlpullparser
Pull Parsing XMLは、イベントドライブXMLファイルに基づいています。プルパーサーには、4つのイベント分析タイプを提供します:start_document(start document)、end_document特定の要素の場合、gettattributevalue()メソッドを呼び出して、属性の値を取得することもできます。例から分析しましょう。
XML例ファイル
解析する必要があるXMLサンプルファイルコードは次のとおりです。
<?xmlバージョン= "1.0" encoding = "utf-8"? sex> </colorague> <同僚id = "2"> <name> lulu </name> <te> 28 </age> <sex> girl </sex> </同僚id = "3"> <name>> Chen Shan </name> <age> 26 </age> <sex> boy </sex> </colleague> </colleagues>
xmlpullparserパーサー
com.shakemo.file。 Import Import Ml. {list <Colleague>同僚< ;} try {//方法1:Android arser parser = xml.newpullser() (); XMLPARPARFACTORY.NEWPULLSER(); (eventType!= xmlpullparser.ecument){switch pe){case xmlpullparser.start_document:break; break; gettattributevalue(i)/ string name = parser.getname( "Collauge" .equals(na me))を介した属性値{colleague.setid(integer.getattributevalue (null、 "id"));} else if( "name" .quals(names)){if(colorague!= null){parser.nexttext());}} else( "age" .equals(name)){if(colorague!= null){colleague.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){// do Nothing} catch(ioexception e){// do Nothing} return Colleagues;}}}}その中で、同僚のクラスの定義は比較的単純であり、コードは次のとおりです。
com.example.shakedemo; 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(string sex){this.sex = sex;} @override public string toString(){return "id is" + id + "、name is" + name + "、sex is" + sex;}}}