중화사전망 - 자전 검색 - 어떻게 해석할 것인가. 안드로이드에 pullparse 가 있는 XML 파일?
어떻게 해석할 것인가. 안드로이드에 pullparse 가 있는 XML 파일?
예제를 보여 주어 당기기 메커니즘을 사용하여 PULL 파일을 구문 분석하는 방법을 보여 드리겠습니다. 먼저 다음 항목의 디렉토리 구조를 살펴보십시오.
다음 단계를 수행합니다.
[1] student.xml 이라는 새 XML 파일도 만들고 assets 디렉토리에 배치합니다. Student.xml 파일의 내용은 다음과 같습니다.
[html] 일반 텍스트 보기
& lt? Xmlversion = "1.0" encoding = "utf-8"? & gt
& lt 학생>
& lt 학생 id = "20110806100" >
& ltname & gt 샤오밍'/name >
& lt 나이 "22 & lt/age & gt;;
& lt 성> 남성'/sex >
& lt/student & gt;;
& lt 학생 id = "20110806101">
& ltname & gt 샤오리.
& lt 나이 "24 & lt/age & gt;;
& lt 성> 남성'/sex >
& lt/student & gt;;
& lt 학생 id = "20110806102" >
& ltname & gt 샤오리'/name >
& lt 나이 "21< /age >
& lt 성> 여성' sex>
& lt/student & gt;;
& lt/ 학생>
[2] XML 파일의 노드 디렉토리에 따라 해당 엔티티 클래스를 만들어 해당 구문 분석 정보를 저장합니다. 패키지: com.andyidea.entity 아래에 새 Student.java 클래스를 작성합니다
[html] 일반 텍스트 보기
패키지 com.andyidea.entity;
공과생 {
개인 문자열 id;
개인 문자열 이름
개인 연령
사현성애
공용 문자열 getId(){
Id 를 반환합니다
}
공용 void 집합 id (문자열 id ){
This.id = id
}
공용 문자열 getName(){
이름을 반환합니다
}
공용 void 컬렉션 이름 (문자열 이름) {
This.name = name
}
Public int getAge(){
나이로 돌아가다
}
공용 void 스토리지 (int age ){
This.age = 나이;
}
공용 문자열 getSex(){
회성
}
Public void setSex(String sex ){
This.sex = sex
}
}
[3] PULL 을 사용하여 XML 파일을 구문 분석하는 도구 클래스 ParserByPULL.java 를 정의합니다.
[html] 일반 텍스트 보기
패키지 com.andyidea.util;
Java.io.inputstream 가져오기
Java.util.arraylist 가져오기
Java.util.list 가져오기
Org.xmlpull.v 1 을 가져옵니다. XmlPullParser
Org.xmlpull.v 1 을 가져옵니다. XmlPullParserFactory
Android.util.xml 을 가져옵니다.
Com.andyidea.entity.student 를 가져옵니다.
공용 클래스 ParserByPULL {
//XmlPullParser 를 사용하여 XML 파일을 분석합니다.
공용 정적 목록< 학생> get students (inputstream instream) 가 Throwable 을 던졌습니다
{
목록< 학생> 학생 = null
Student mStudent = null
//= = = = = = = = = XmlPullParser 를 만드는 두 가지 방법 = = = = = =
//메서드 1: 팩토리 클래스 XmlPullParserFactory 를 사용합니다.
Xmlpull parserfactory pull factory = xmlpull parserfactory.newinstance ();
Xmlpullparserparser = pullfactory.newpullparser ();
//방법 2: 안드로이드에서 제공하는 유틸리티 클래스인 android.util.Xml 을 사용합니다.
//XML pullparserparser = xml.newpullparser ();
//파일 입력 스트림 구문 분석
Parser. set input(inStream, "utf-8");
//첫 번째 이벤트 생성
Inteventtype = parser.geteventtype ();
//문서 끝 이벤트가 아닌 한 항상 순환합니다.
While (이벤트 유형! =XmlPullParser 입니다. END_DOCUMENT)
{
스위치 (이벤트 유형)
{
//시작 문서 이벤트 트리거
Case XmlPullParser. 시작 _ 문서:
Students = 새 배열 목록< 학생> ();
깨뜨리다
//시작 요소 이벤트 트리거
Case XmlPullParser. 시작 태그:
//분석기가 현재 가리키는 요소의 이름을 가져옵니다.
String name = parser.getname ();
만약 ("학생". 같음 (이름))
{
//파서를 통해 id 의 요소 값을 가져오고 학생의 id 를 설정합니다.
Mstudent = new student ();
Mstudent.setid (parser.getattributevalue (0));
}
If(m student! =null)
{
If ("이름") 입니다. 같음 (이름))
{
//분석기가 현재 가리키는 요소의 다음 텍스트 노드 값을 가져옵니다.
Mstudent.setname (parser.nexttext ());
}
만약 ("나이". 같음 (이름))
{
//분석기가 현재 가리키는 요소의 다음 텍스트 노드 값을 가져옵니다.
Mstudent.setage (new short (parser.nexttext ());
}
만약 ("성") 입니다. 같음 (이름))
{
//분석기가 현재 가리키는 요소의 다음 텍스트 노드 값을 가져옵니다.
Mstudent.setsex (parser.nexttext ());
}
}
깨뜨리다
//끝 요소 이벤트 트리거
Case XmlPullParser. 끝 태그:
//
만약 ("학생". 같음 (parser.getName ()))
{
Students.add (mstudent);
MStudent = null
}
깨뜨리다
기본값:
깨뜨리다
}
이벤트 유형 = parser.next ();
}
학교로 돌아가는 학생
}