머리말
Android의 프레임 워크 계층 소스 코드를 학습 할 때 Android는 XMLPULLPARSER를 사용하여 XML 파일의 소스 코드를 해결합니다. 따라서 XMLPULLPARSER의 사용도 있습니다.
XML
XML (확장 가능한 마크 업 언어) 중국 이름은 확장 가능한 태그 언어입니다. 마크는 컴퓨터 가이 마크를 통해 이해할 수있는 정보 기호를 말하면 다양한 정보가 포함 된 기사가 컴퓨터간에 처리 될 수 있습니다.
사용
XML 디자인은 전송 및 데이터를 사용하여 HTML 언어를 사용하지 않습니다.
구조
각 XML 문서는 XML 서문에서 시작합니다. 이 코드 라인은 파서 또는 브라우저를 알려줍니다.이 파일은 XML 규칙에 따라 구문 분석해야합니다. 그러나 루트 요소의 이름은 문서 유형 또는 XML 개요로 정의됩니다.
xmlpullparser
PULL PARSING XML은 이벤트 드라이브 XML 파일을 기반으로합니다. PULL이 구문 분석을 시작하면 먼저 GetEventType () 메소드를 통해 다음 분석 이벤트 유형을 얻을 수 있습니다. Pull Parser는 4 가지 이벤트 분석 유형을 제공합니다 : start_document (시작 문서 시작), end_document 특정 요소에 있으면 getTattributeValue () 메소드를 호출하여 속성의 값을 얻을 수 있습니다. 예를 통해 분석합시다.
XML 예제 파일
구문 분석 해야하는 XML 샘플 파일 코드는 다음과 같습니다.
<? 섹스> </colorague> <Colleague id = "2"> <name> lulu </name> <t> 28 </age> <sex> girl </sex> </colleague id = "3"> <name> Chen Shan </name> <ge> 26 </age> <sex> Boy </sex> </colleague> </cowergues>
xmlpullparser 파서
com.example. ShakedMo. org.xmlpull.v1.xmlpullparserexception; {Colleague> 동료 = NEW QUNILLES <); 반환 동료;} {// 메소드 1 : Android Arser Parser에 의해 제공되는 Android.util.xml을 사용하십시오. xml.newpullparser (); (); (EventType! = xmlpullparser.ecument) {switch pe) {case xmlpullparser.start_document : break; getTattributeValue (i) */ string name = parser.getName ()을 통한 속성 (CONTERGUER (NA ME)) {COLLEAGUE = COLLEAGUE (); (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 (colleag! = null) {colorague.setsex (parser.nextText ()); null;} eventType = parser.next ();} lreamer.close ();} catch (xmlpullparserexception e) {// do nothing} catch (ioException e) {// do nothing} 반환 동료;}}그중에서도 동료 클래스의 정의는 비교적 간단하며 코드는 다음과 같습니다.
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 + ", 섹스는" + sex;}}