Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP에서 XML 구문 분석하기: JSTL x:parse 태그 완벽 가이드

JSP에서 XML 데이터를 처리할 때는 <x:parse> 태그를 사용하면 간편하게 구문 분석(파싱)을 수행할 수 있습니다. 이 태그는 속성(attribute)으로 지정한 XML 데이터 또는 태그 본문(body)에 포함된 XML 데이터를 파싱하는 역할을 합니다.

x:parse 태그의 주요 속성

<x:parse> 태그에서 사용할 수 있는 속성은 다음과 같습니다.

속성설명필수 여부기본값
var파싱된 XML 데이터를 저장할 변수아니오없음
xml파싱할 문서의 텍스트 (String 또는 Reader)아니오Body(본문)
systemId문서를 파싱할 때 사용되는 시스템 식별자 URI아니오없음
filter원본 문서에 적용할 필터아니오없음
doc파싱할 XML 문서아니오Page
scopevar 속성에 지정된 변수의 유효 범위(scope)아니오Page
varDom파싱된 XML 데이터(DOM)를 저장할 변수아니오Page
scopeDomvarDom 속성에 지정된 변수의 유효 범위(scope)아니오Page

실전 예제

앞서 문서 본문에 포함된 XML을 파싱하는 방법을 살펴보았습니다. 이번에는 외부 XML 파일을 읽어와 파싱하는 방법을 알아보겠습니다.

먼저 아래 내용을 books.xml 파일로 저장합니다.

<books>
<book>
<name>Padam History</name>
<author>ZARA</author>
<price>100</price>
</book>
<book>
<name>Great Mistry</name>
<author>NUHA</author>
<price>2000</price>
</book>
</books>

다음으로, 같은 디렉터리에 아래와 같이 main.jsp 파일을 작성합니다.

<%@ taglib prefix = "c" uri = "https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix = "x" uri = "https://java.sun.com/jsp/jstl/xml" %>
<html>
<head>
<title>JSTL x:parse Tags</title>
</head>
<body>
<h3>Books Info:</h3>
<c:import var = "bookInfo" url = "https://localhost:8080/books.xml"/>
<x:parse xml = "${bookInfo}" var = "output"/>
<b>첫 번째 책의 제목</b>:
<x:out select = "$output/books/book[1]/name" />
<br>
<b>두 번째 책의 가격</b>:
<x:out select = "$output/books/book[2]/price" />
</body>
</html>

브라우저에서 https://localhost:8080/main.jsp 주소로 위 JSP 페이지에 접속하면 다음과 같은 결과가 출력됩니다.

Books Info:
The title of the first book is:Padam History
The price of the second book: 2000

이 예제에서 핵심 흐름은 다음과 같습니다. 먼저 <c:import> 태그로 외부 XML 파일의 내용을 가져온 뒤, <x:parse> 태그로 해당 데이터를 파싱하여 output 변수에 저장하고, 마지막으로 <x:out> 태그에 XPath 표현식을 사용해 원하는 데이터를 추출하여 화면에 출력합니다. 이처럼 JSTL의 XML 태그 라이브러리를 활용하면 별도의 자바 코드 없이도 JSP 페이지에서 XML 데이터를 손쉽게 다룰 수 있습니다.