# 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 파싱 기술은 데이터를 구조적으로 이해하고, 원하는 정보를 효율적으로 추출하는 데 필수적인 도구입니다.
'🖥️ IT, 컴퓨터 > 👩🏻💻 IT' 카테고리의 다른 글
[IT] XML vs JSON vs CSV 데이터 형식 비교 (1) | 2025.05.07 |
---|---|
[IT] XML이란? (0) | 2025.05.07 |
[GitHub] 깃허브 Gist (0) | 2025.04.26 |
[IT] codenary :: 기업들이 쓰는 기술 스택 확인 사이트 (0) | 2025.04.01 |
[IT] 태블로 Public 다운받기 (0) | 2025.03.23 |
댓글