상세 컨텐츠

본문 제목

JAVA XML 파싱방법 XmlPull 이용

개발

by 동동주1123 2023. 4. 9. 14:10

본문

# 참고 XmlPull 이용

 

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import java.io.StringReader;

public class XmlParser {
    public static void main(String[] args) throws Exception {
        // String 형태의 XML
        String xml = "<person><name>John</name><age>30</age></person>";

        // XmlPullParser 객체 생성
        XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        XmlPullParser parser = factory.newPullParser();

        // StringReader를 사용하여 XML 데이터 설정
        parser.setInput(new StringReader(xml));

        // XML 파싱
        int eventType = parser.getEventType();
        String name = null;
        int age = 0;

        while (eventType != XmlPullParser.END_DOCUMENT) {
            String tagname = parser.getName();
            switch (eventType) {
                case XmlPullParser.START_TAG:
                    if (tagname.equalsIgnoreCase("name")) {
                        name = parser.nextText();
                    } else if (tagname.equalsIgnoreCase("age")) {
                        age = Integer.parseInt(parser.nextText());
                    }
                    break;

                case XmlPullParser.END_TAG:
                    break;

                default:
                    break;
            }
            eventType = parser.next();
        }

        // 파싱된 값을 객체로 저장
        Person person = new Person(name, age);

        // 객체 출력
        System.out.println(person.toString());
    }

    // 예제를 위한 Person 클래스
    static class Person {
        private String name;
        private int age;

        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }

        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }
}

'개발' 카테고리의 다른 글

JAVASCRIPT 프로미스 , 제네레이터  (0) 2023.04.09
JAVA XML 파싱하는 방법  (0) 2023.04.09
JAVA XML 파싱방법 Apache digester 이용  (0) 2023.04.09

관련글 더보기