[java] 자바에서 XML을 HTML로 변환하기

이번에는 자바에서 XML을 HTML로 변환하는 방법에 대해 알아보겠습니다. XML은 데이터를 저장하고 전송하기 위한 마크업 언어이며, HTML은 웹 페이지를 구성하는 마크업 언어입니다. 때때로 XML 데이터를 HTML로 변환하여 웹 페이지에 표시해야 할 필요가 있습니다. 자바에서는 다양한 방법을 사용하여 XML을 HTML로 변환할 수 있습니다. 이번 글에서는 DOM ParserXSLT를 사용하여 XML을 HTML로 변환하는 방법에 대해 알아보겠습니다.

1. DOM Parser를 사용한 방법

DOM Parser는 XML 문서를 분석하고 그 구조를 메모리에 로드하여 문서 객체 모델 (Document Object Model) 형태로 처리하는 방법입니다. Java에서는 DOM Parser를 사용하여 XML을 HTML로 변환할 수 있습니다.

아래는 DOM Parser를 사용하여 XML을 HTML로 변환하는 예제입니다.

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import java.io.StringWriter;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

public class XmlToHtmlConverter {
    public static void main(String[] args) throws Exception {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.parse("input.xml");

        StringWriter writer = new StringWriter();
        Transformer transformer = TransformerFactory.newInstance().newTransformer();
        transformer.transform(new DOMSource(doc), new StreamResult(writer));

        String html = writer.toString();
        System.out.println(html);
    }
}

위 예제에서는 DOM Parser를 사용하여 XML 파일(여기서는 input.xml)을 HTML로 변환하고 출력하는 방법을 보여줍니다.

2. XSLT를 사용한 방법

XSLT(Extensible Stylesheet Language Transformations)는 XML 문서를 다른 형식의 문서로 변환하기 위한 XML 기반의 스타일 시트 언어입니다. Java에서는 XSLT를 사용하여 XML을 HTML로 변환할 수 있습니다.

아래는 XSLT를 사용하여 XML을 HTML로 변환하는 예제입니다.

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;

public class XmlToHtmlConverter {
    public static void main(String[] args) throws Exception {
        TransformerFactory factory = TransformerFactory.newInstance();
        Transformer transformer = factory.newTransformer(new StreamSource("stylesheet.xsl"));
        transformer.transform(new StreamSource("input.xml"), new StreamResult("output.html"));
    }
}

위 예제에서는 XSLT를 사용하여 입력으로 들어온 XML 파일을 특정 XSL 스타일 시트(여기서는 stylesheet.xsl)를 이용하여 HTML로 변환한 후 출력 파일(여기서는 output.html)로 저장하는 방법을 보여줍니다.

이처럼 자바에서는 DOM Parser와 XSLT를 활용하여 XML을 HTML로 변환할 수 있습니다. 각각의 방법은 장단점이 있으니 상황에 맞게 선택하여 사용하시면 됩니다.

이상으로 자바에서 XML을 HTML로 변환하는 방법에 대해 살펴보았습니다.

관련 문서: