본문 바로가기
Resource

XML 파일 다루기

by 하드락 2022. 10. 2.

XML 파일 다루기

 

임의의 XML 파일을 리소스로서 프로젝트에 포함시킬 있다.

그런 XML 파일들은 /res/xml/ 폴더에 저장해야 한다.

 

안드로이드는 빠르고 효율적인 XML 파서(XML Pull Parser) 제공한다. 이는 이벤트 방식으로 동작하는데,

next() 메서드를 계속해서 호출해 다음 구성요소에 대한 정보를 뽑아(Pull) 내기 때문에 Pull Parser라고 한다.

XML Pull Parser 대한 보다 자세한 내용은 아래 사이트를 참조하도록 한다.

 

http://www.xmlpull.org/v1/doc/api/org/xmlpull/v1/package-summary.html

 

다음은 /res/xml/words.xml 파일을 열어서, XML Pull Parser 원하는 정보를 추출하여 로그 출력하는 예제이다.

 

< /res/xml/words.xml >

<?xml version="1.0" encoding="utf-8"?>
<words>
    <word value="student"/>
    <word value="teacher"/>
    <word value="school"/>
    <word value="home"/>
    <word value="company"/>
    <word value="computer"/>
    <word value="mouse"/>
    <word value="monitor"/>
    <word value="telephone"/>
</words>

 

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;

...

XmlPullParser parser = getResources().getXml(R.xml.words);

try {
    int parserEvent = parser.getEventType();

    while( parserEvent != XmlPullParser.END_DOCUMENT ) {
        if( parserEvent == XmlPullParser.START_TAG ) {
            if(parser.getName().equals("word")) {
                Log.d("MY_TAG", "Value: " + parser.getAttributeValue(null, "value"));
            }
        }
        parserEvent = parser.next();
    }
} catch (XmlPullParserException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

 

'Resource' 카테고리의 다른 글

리소스에 대한 참조  (0) 2022.10.02
원본(raw) 파일 다루기  (0) 2022.10.02
메뉴 다루기  (0) 2022.10.02
이미지 다루기  (0) 2022.10.02
코드에서 리소스 사용하기  (0) 2022.10.02

댓글