🖥️ IT, 컴퓨터/👩🏻‍💻 IT

[IT] XML 파싱 방법

김 홍시 2025. 5. 7.
반응형

# XML 파싱 방법: 초보자도 쉽게 배우는 데이터 추출 기초

 

XML(Extensible Markup Language)은 구조화된 데이터를 표현하는 데 자주 사용되는 언어입니다. 하지만 데이터를 읽고 활용하려면 '파싱(parsing)', 즉 **XML 문서를 해석하고 원하는 정보를 추출**하는 과정이 필요합니다. 이번 글에서는 **XML 파싱이란 무엇인지**, **어떻게 하는지**, 그리고 **주요 프로그래밍 언어별 사용 예시**까지 쉽게 설명드립니다.

 

---

 

## 1. XML 파싱이란?

 

\*\*XML 파싱(XML Parsing)\*\*이란, XML 문서에 담긴 계층적 데이터를 읽고 해석하여 프로그래밍 언어나 응용 프로그램이 사용할 수 있도록 변환하는 작업입니다. 일반적으로 다음 두 가지 방식으로 파싱할 수 있습니다:

 

* **DOM 방식(Document Object Model)**

  → XML 전체를 메모리에 로드하여 트리 구조로 분석

  → 직관적이지만 대용량 처리에는 부적합

 

* **SAX 방식(Simple API for XML)**

  → 이벤트 기반 파싱으로 메모리 효율이 좋음

  → 속도는 빠르지만 구조 파악이 어렵고 구현이 복잡함

 

---

 

## 2. Python에서 XML 파싱하기

 

Python은 `xml.etree.ElementTree` 모듈을 통해 XML 파싱을 간편하게 수행할 수 있습니다.

 

```python

import xml.etree.ElementTree as ET

 

# XML 데이터 예시

xml_data = '''

<employees>

  <employee>

    <name>Jane</name>

    <department>HR</department>

  </employee>

  <employee>

    <name>Tom</name>

    <department>IT</department>

  </employee>

</employees>

'''

 

# 파싱

root = ET.fromstring(xml_data)

 

# 전체 직원 이름 출력

for emp in root.findall('employee'):

    name = emp.find('name').text

    dept = emp.find('department').text

    print(f'{name} - {dept}')

```

 

---

 

## 3. Java에서 XML 파싱하기 (DOM 방식)

 

```java

import javax.xml.parsers.*;

import org.w3c.dom.*;

import java.io.*;

 

public class XMLParserExample {

    public static void main(String[] args) throws Exception {

        File file = new File("data.xml");

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

        DocumentBuilder builder = factory.newDocumentBuilder();

        Document doc = builder.parse(file);

 

        NodeList list = doc.getElementsByTagName("employee");

        for (int i = 0; i < list.getLength(); i++) {

            Element emp = (Element) list.item(i);

            String name = emp.getElementsByTagName("name").item(0).getTextContent();

            System.out.println("이름: " + name);

        }

    }

}

```

 

---

 

## 4. JavaScript에서 XML 파싱하기 (브라우저 기반)

 

```javascript

const xmlText = `

<employees>

  <employee>

    <name>Sarah</name>

  </employee>

</employees>

`;

 

const parser = new DOMParser();

const xmlDoc = parser.parseFromString(xmlText, "text/xml");

 

const name = xmlDoc.getElementsByTagName("name")[0].textContent;

console.log(name); // Sarah

```

 

---

 

## 5. XML 파싱 시 주의할 점

 

* 태그 오탈자나 닫힘 태그 누락 등 문법 오류는 파싱 실패로 이어질 수 있음

* 속성이 포함된 경우 `.attrib` 또는 `.getAttribute()`로 별도 접근

* UTF-8 또는 encoding 지정 문제로 인해 한글이 깨질 수 있으므로 인코딩 처리 확인 필요

 

---

 

## 6. 마무리: XML 파싱을 왜 배워야 할까?

 

XML은 여전히 공공데이터, GIS 파일(KML), 설정 파일, API 응답 등 다양한 곳에서 활용됩니다. XML 파싱 기술은 데이터를 구조적으로 이해하고, 원하는 정보를 효율적으로 추출하는 데 필수적인 도구입니다.

 

 

 

반응형

댓글