<%@page import="javax.xml.parsers.DocumentBuilder"%>
<%@page import="javax.xml.parsers.DocumentBuilderFactory"%>
<%@page import="org.w3c.dom.Document"%>
<%@page import="org.xml.sax.InputSource"%>
<%@page import="java.io.InputStreamReader"%>
<%@page import="java.net.HttpURLConnection"%>
<%@page import="java.net.URL"%>
<%@page import="javax.xml.xpath.XPath"%>
<%@page import="javax.xml.xpath.XPathFactory"%>
<%@page import="javax.xml.xpath.XPathExpressionException"%>
<%@page import="org.w3c.dom.NodeList"%>
<%@page import="org.w3c.dom.Element"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%

String key = "mNJib3m88JJNQ5KyC6mIqYiXpoSv%2F1c6s5pdqVxbz6AntD0v53RHDOfvOoe75km7IuiCJOsTlsZ8648jQ%2BWQlQ%3D%3D";
int pageNo = 1;
int pageSize = 20;

String xmlUrl = "<http://apis.data.go.kr/1390802/FarmSafeMovie/farmSafeMovieList?serviceKey=>" + key
+ "&Page_No=" + String.valueOf(pageNo) + "&Page_Size=" + String.valueOf(pageSize);

URL url = new URL(xmlUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(connection.getInputStream());

XPathFactory xPathFactory = XPathFactory.newInstance();
XPath xPath = xPathFactory.newXPath();

try {
    String expression = "/response/body/items/item"; // XPath 표현식 (XML 구조에 맞게 조정)
    NodeList nodeList = (NodeList) xPath.evaluate(expression, doc, javax.xml.xpath.XPathConstants.NODESET);

    for (int i = 0; i < nodeList.getLength(); i++) {
        Element element = (Element) nodeList.item(i);
        String vdoSN = element.getElementsByTagName("VDO_SN").item(0).getTextContent();
        String vdoCtgNm = element.getElementsByTagName("VDO_CTG_NM").item(0).getTextContent();
        String vdoSj = element.getElementsByTagName("VDO_SJ").item(0).getTextContent();
        String vdoThumbImage = element.getElementsByTagName("VDO_THUMB_IMAGE").item(0).getTextContent();
        String vdoUrlAddr = element.getElementsByTagName("VDO_URL_ADDR").item(0).getTextContent();

        out.println("VDO_SN: " + vdoSN + "<br>");
        out.println("VDO_CTG_NM: " + vdoCtgNm + "<br>");
        out.println("VDO_SJ: " + vdoSj + "<br>");
        out.println("VDO_THUMB_IMAGE: <img src='" + vdoThumbImage + "' alt='" + vdoSj + "'><br>");
        out.println("VDO_URL_ADDR: <a href='" + vdoUrlAddr + "'>Watch Video</a><br>");
        out.println("<hr>");
    }
} catch (XPathExpressionException e) {
    e.printStackTrace();
}
%>

순서