[Java] String 형태의 Xml의 태그 값 추출하는 방법

2023-03-10


사진: Unsplash 의 Max Anz


1. 방법

 

우선 아래의 라이브러리들의 import가 필요하다.

 

import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;
import java.io.StringReader;

이후 처리해야 할 xml 형태의 String 변수를 해당 라이브러리들을 사용하여 원하는 값을 추출할 수 있다. 아래는 샘플 코드이며, 참고하여 필요한 형식으로 변환하여 사용하면 된다.

 

    @Test
    public void test12() throws ParserConfigurationException, IOException, SAXException {
        String text = "" +
                "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
                "<response> \n" +
                "<resultCode>성공</resultCode> \n" +
                "</response> ";

        StringBuffer sb = new StringBuffer();
        sb.append(text);
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document document = builder.parse(new InputSource(new StringReader(sb.toString())));
        String resultCode = document
                .getElementsByTagName("resultCode")//태그명 추출
                .item(0)//추출한 태그명중 첫번째꺼 추출
                .getChildNodes()//태그 안에 있는 값 추출
                .item(0)//값중첫번째추출
                .getNodeValue();//값추출

        System.out.println("resultCode ->" + resultCode);
    }

메인 이미지 출처 : 사진: Unsplash의 Max Anz