XML을 통한 재무정보 페이지 가져오기 질문입니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
XML을 통한 재무정보 페이지 가져오기 질문입니다.

QA

XML을 통한 재무정보 페이지 가져오기 질문입니다.

본문

안녕하세요.

현재 워드프레스를 사용중입니다.

 

XML 파일을 제공받아 재무정보 페이지를 가져오고 싶은데,

https://goo.gl/vsnZho

해당 페이지에서 예제2를 다운로드 해보니 jps 파일입니다.

 

해당파일의 소스가 아래와 같은데, 

혹시 이걸 워드프레스에서 사용할 수 있도록 하려면 어떻게 수정을 하면 될까요?

혹시 아시는분 계실까요.. 사례도 가능합니다 ㅜㅜ

 


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<% import="java.beans.XMLEncoder"%>
<%@ page import="org.w3c.dom.*" %>
<%@ page import="org.xml.sax.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.net.*"%>
<%@ page import="javax.xml.parsers.*"%>
<%@ page import="javax.servlet.http.HttpServletResponse.*"%>
<%
    String geturl = "http://asp1.krx.co.kr/servlet/krx.asp.XMLJemu?code=099190";
    String gettime="";
    String DaeCha_ym[]= new String [6];
    String SonIk_ym[]= new String [6];
    String CashFlow_ym[]= new String [6];
    
    String DaeCha_data[][]= new String [10][10];
    String SonIk_data[][]= new String [6][10];
    String CashFlow_data[][]= new String [6][7];
    
    int daeCha_data_length = 0;
    int sonIk_data_length = 0;
    int cashFlow_data_length = 0;
    String line="";
    String xml = "";
    try{
        URL url = new URL(geturl);
        URLConnection conn = url.openConnection();
        HttpURLConnection httpConnection = (HttpURLConnection) conn;
        InputStream is = null;
        InputStreamReader isr = null;
        
        is =  new URL(geturl).openStream();
        isr = new InputStreamReader(is, "UTF-8");
        
        
        
        BufferedReader rd = new BufferedReader(isr,400);
        
        StringBuffer strbuf = new StringBuffer();
        
        
        while ((line = rd.readLine()) != null){
            
              strbuf.append(line);
        }
        
        //System.out.println("재무정보");
        //System.out.println(strbuf.toString());
        
        DocumentBuilderFactory docFact = DocumentBuilderFactory.newInstance();
        docFact.setNamespaceAware(true);
        DocumentBuilder docBuild = docFact.newDocumentBuilder();
        Document doc = docBuild.parse(new InputSource(new StringReader(strbuf.toString())));
        doc.getDocumentElement().normalize();
            
        Element root = doc.getDocumentElement();
        
        
        /*조회시각*/
        NodeList financialTotal = doc.getElementsByTagName("financialTotal");
        
        NamedNodeMap stockinfo = financialTotal.item(0).getAttributes();
        gettime = stockinfo.getNamedItem("querytime").getNodeValue();
        
        /*대차대조표*/
        
        NodeList TBL_DaeCha_ym = doc.getElementsByTagName("TBL_DaeCha");
        NamedNodeMap daeCha_ym = TBL_DaeCha_ym.item(0).getAttributes();
        
        DaeCha_ym[0] = daeCha_ym.getNamedItem("year0").getNodeValue();
        DaeCha_ym[1] = daeCha_ym.getNamedItem("month0").getNodeValue();
        DaeCha_ym[2] = daeCha_ym.getNamedItem("year1").getNodeValue();
        DaeCha_ym[3] = daeCha_ym.getNamedItem("month1").getNodeValue();
        DaeCha_ym[4] = daeCha_ym.getNamedItem("year2").getNodeValue();
        DaeCha_ym[5] = daeCha_ym.getNamedItem("month2").getNodeValue();
        
        NodeList TBL_DaeCha_data = doc.getElementsByTagName("TBL_DaeCha_data");
        daeCha_data_length = TBL_DaeCha_data.getLength();
        
        for(int i=0;i<daeCha_data_length;i++){
            
            NamedNodeMap daeCha_data = TBL_DaeCha_data.item(i).getAttributes();
            
            DaeCha_data[i][0] = daeCha_data.getNamedItem("hangMok"+i).getNodeValue();
            DaeCha_data[i][1] = daeCha_data.getNamedItem("year1Money"+i).getNodeValue();
            DaeCha_data[i][2] = daeCha_data.getNamedItem("year1GuSungRate"+i).getNodeValue();
            DaeCha_data[i][3] = daeCha_data.getNamedItem("year1JungGamRate"+i).getNodeValue();
            DaeCha_data[i][4] = daeCha_data.getNamedItem("year2Money"+i).getNodeValue();
            DaeCha_data[i][5] = daeCha_data.getNamedItem("year2GuSungRate"+i).getNodeValue();
            DaeCha_data[i][6] = daeCha_data.getNamedItem("year2JungGamRate"+i).getNodeValue();
            DaeCha_data[i][7] = daeCha_data.getNamedItem("year3Money"+i).getNodeValue();
            DaeCha_data[i][8] = daeCha_data.getNamedItem("year3GuSungRate"+i).getNodeValue();
            DaeCha_data[i][9] = daeCha_data.getNamedItem("year3JungGamRate"+i).getNodeValue();
            
        }
        
        /*손익계산서*/
        
        NodeList TBL_SonIk_ym = doc.getElementsByTagName("TBL_SonIk");
        NamedNodeMap sonIk_ym = TBL_SonIk_ym.item(0).getAttributes();
        
        SonIk_ym[0] = daeCha_ym.getNamedItem("year0").getNodeValue();
        SonIk_ym[1] = daeCha_ym.getNamedItem("month0").getNodeValue();
        SonIk_ym[2] = daeCha_ym.getNamedItem("year1").getNodeValue();
        SonIk_ym[3] = daeCha_ym.getNamedItem("month1").getNodeValue();
        SonIk_ym[4] = daeCha_ym.getNamedItem("year2").getNodeValue();
        SonIk_ym[5] = daeCha_ym.getNamedItem("month2").getNodeValue();
        
        NodeList TBL_SonIk_data = doc.getElementsByTagName("TBL_SonIk_data");
        
        sonIk_data_length = TBL_SonIk_data.getLength();
        
        for(int i=0;i<sonIk_data_length;i++){
            
            NamedNodeMap sonIk_data = TBL_SonIk_data.item(i).getAttributes();
            
            SonIk_data[i][0] = sonIk_data.getNamedItem("hangMok"+i).getNodeValue();
            SonIk_data[i][1] = sonIk_data.getNamedItem("year1Money"+i).getNodeValue();
            SonIk_data[i][2] = sonIk_data.getNamedItem("year1GuSungRate"+i).getNodeValue();
            SonIk_data[i][3] = sonIk_data.getNamedItem("year1JungGamRate"+i).getNodeValue();
            SonIk_data[i][4] = sonIk_data.getNamedItem("year2Money"+i).getNodeValue();
            SonIk_data[i][5] = sonIk_data.getNamedItem("year2GuSungRate"+i).getNodeValue();
            SonIk_data[i][6] = sonIk_data.getNamedItem("year2JungGamRate"+i).getNodeValue();
            SonIk_data[i][7] = sonIk_data.getNamedItem("year3Money"+i).getNodeValue();
            SonIk_data[i][8] = sonIk_data.getNamedItem("year3GuSungRate"+i).getNodeValue();
            SonIk_data[i][9] = sonIk_data.getNamedItem("year3JungGamRate"+i).getNodeValue();
            
        }
        
        /*현금흐름표*/
        
        NodeList TBL_CashFlow = doc.getElementsByTagName("TBL_CashFlow");
        NamedNodeMap cashFlow_ym = TBL_CashFlow.item(0).getAttributes();
        
        CashFlow_ym[0] = cashFlow_ym.getNamedItem("year0").getNodeValue();
        CashFlow_ym[1] = cashFlow_ym.getNamedItem("month0").getNodeValue();
        CashFlow_ym[2] = cashFlow_ym.getNamedItem("year1").getNodeValue();
        CashFlow_ym[3] = cashFlow_ym.getNamedItem("month1").getNodeValue();
        CashFlow_ym[4] = cashFlow_ym.getNamedItem("year2").getNodeValue();
        CashFlow_ym[5] = cashFlow_ym.getNamedItem("month2").getNodeValue();
        
        NodeList TBL_CashFlow_data = doc.getElementsByTagName("TBL_CashFlow_data");
        
        cashFlow_data_length = TBL_CashFlow_data.getLength();
        
        for(int i=0;i<cashFlow_data_length;i++){
            
            NamedNodeMap cashFlow_data = TBL_CashFlow_data.item(i).getAttributes();
            
            CashFlow_data[i][0] = cashFlow_data.getNamedItem("hangMok"+i).getNodeValue();
            CashFlow_data[i][1] = cashFlow_data.getNamedItem("year1Money"+i).getNodeValue();
            CashFlow_data[i][2] = cashFlow_data.getNamedItem("year1JungGamRate"+i).getNodeValue();
            CashFlow_data[i][3] = cashFlow_data.getNamedItem("year2Money"+i).getNodeValue();
            CashFlow_data[i][4] = cashFlow_data.getNamedItem("year2JungGamRate"+i).getNodeValue();
            CashFlow_data[i][5] = cashFlow_data.getNamedItem("year3Money"+i).getNodeValue();
            CashFlow_data[i][6] = cashFlow_data.getNamedItem("year3JungGamRate"+i).getNodeValue();
            
        }
    
    } catch(Exception e){
        
    }

%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script  src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="js/common.js"></script>
<link rel="stylesheet" type="text/css" href="css/financialInfo.css"/>
<title>재무정보</title>
</head>
<body>
    <div class="header-wrap">
    재무정보<span><span class="time_img"></span><%=gettime%> 기준</span>
    </div>
    <div class="body-wrap">
        <div class="data-lists">
            <dl>
                <dt><span></span>대차대조표</dt>
                <dd>
                    <table id="balance">
                        <tr>
                            <th rowspan="2">재무항목</th>
                            <%if(!DaeCha_ym[0].equals("")) {%>
                            <th colspan="3"><%=DaeCha_ym[0]%>년 <%=DaeCha_ym[1]%>월</th>
                            <th colspan="3"><%=DaeCha_ym[2]%>년 <%=DaeCha_ym[3]%>월</th>
                            <th colspan="3"><%=DaeCha_ym[4]%>년 <%=DaeCha_ym[5]%>월</th>
                            <%}%>
                        </tr>
                        <tr>
                            <th>금액</th>
                            <th>구성비</th>
                            <th>증감율</th>
                            <th>금액</th>
                            <th>구성비</th>
                            <th>증감율</th>
                            <th>금액</th>
                            <th>구성비</th>
                            <th>증감율</th>
                        </tr>
                        <%if(daeCha_data_length > 0){%>
                            <%for(int i=0;i<daeCha_data_length;i++){ %>
                            <tr>
                                <td><%=DaeCha_data[i][0]%></td>
                                <td><%=DaeCha_data[i][1]%></td>
                                <td><%=DaeCha_data[i][2]%></td>
                                <td><%=DaeCha_data[i][3]%></td>
                                <td><%=DaeCha_data[i][4]%></td>
                                <td><%=DaeCha_data[i][5]%></td>
                                <td><%=DaeCha_data[i][6]%></td>
                                <td><%=DaeCha_data[i][7]%></td>
                                <td><%=DaeCha_data[i][8]%></td>
                                <td><%=DaeCha_data[i][9]%></td>
                            </tr>
                            <%}%>
                        <%}%>
                    </table>
                </dd>
                <dt><span></span>손익계산서</dt>
                <dd>
                    <table id="income_statement">
                        <tr>
                            <th rowspan="2">재무항목</th>
                            <%if(!SonIk_ym[0].equals("")) {%>
                            <th colspan="3"><%=SonIk_ym[0]%>년 <%=SonIk_ym[1]%>월</th>
                            <th colspan="3"><%=SonIk_ym[2]%>년 <%=SonIk_ym[3]%>월</th>
                            <th colspan="3"><%=SonIk_ym[4]%>년 <%=SonIk_ym[5]%>월</th>
                            <%}%>
                        </tr>
                        <tr>
                            <th>금액</th>
                            <th>구성비</th>
                            <th>증감율</th>
                            <th>금액</th>
                            <th>구성비</th>
                            <th>증감율</th>
                            <th>금액</th>
                            <th>구성비</th>
                            <th>증감율</th>
                        </tr>
                        <%if(sonIk_data_length > 0){%>
                            <%for(int i=0;i<sonIk_data_length;i++){ %>
                            <tr>
                                <td><%=SonIk_data[i][0]%></td>
                                <td><%=SonIk_data[i][1]%></td>
                                <td><%=SonIk_data[i][2]%></td>
                                <td><%=SonIk_data[i][3]%></td>
                                <td><%=SonIk_data[i][4]%></td>
                                <td><%=SonIk_data[i][5]%></td>
                                <td><%=SonIk_data[i][6]%></td>
                                <td><%=SonIk_data[i][7]%></td>
                                <td><%=SonIk_data[i][8]%></td>
                                <td><%=SonIk_data[i][9]%></td>
                            </tr>
                            <%}%>
                        <%}%>
                    </table>
                </dd>
                <dt><span></span>현금흐름표</dt>
                <dd>
                    <table id="cash_flow">
                        <tr>
                            <th rowspan="2">재무항목</th>
                            <%if(!CashFlow_ym[0].equals("")) {%>
                            <th colspan="2"><%=CashFlow_ym[0]%>년 <%=CashFlow_ym[1]%>월</th>
                            <th colspan="2"><%=CashFlow_ym[2]%>년 <%=CashFlow_ym[3]%>월</th>
                            <th colspan="2"><%=CashFlow_ym[4]%>년 <%=CashFlow_ym[5]%>월</th>
                            <%}%>
                        </tr>
                        <tr>
                            <th>금액</th>
                            <th>증감액</th>
                            <th>금액</th>
                            <th>증감액</th>
                            <th>금액</th>
                            <th>증감액</th>
                        </tr>
                        <%if(cashFlow_data_length > 0){%>
                            <%for(int i=0;i<cashFlow_data_length;i++){ %>
                            <tr>
                                <td><%=CashFlow_data[i][0]%></td>
                                <td><%=CashFlow_data[i][1]%></td>
                                <td><%=CashFlow_data[i][2]%></td>
                                <td><%=CashFlow_data[i][3]%></td>
                                <td><%=CashFlow_data[i][4]%></td>
                                <td><%=CashFlow_data[i][5]%></td>
                                <td><%=CashFlow_data[i][6]%></td>
                            </tr>
                            <%}%>
                        <%}%>
                    </table>
                </dd>
            </dl>
        </div>
    </div>
    <div class="footer-wrap"></div>
</body>
</html>

이 질문에 댓글 쓰기 :

답변 2

jsp용 rest api가 있다면 php용도 있을 것 같네요.

워드프레스는 php기반이니까 php용으로 구하거나 위 소스 변환해야 할 것 같네요...

갖고 오는 곳에서 php용으로 제공이 되는지 확인이 필요해 보입니다.

아래 참고하시어 php로 작업하시는게 맞을것 같습니다.

PHP 를 이용하여 XML 파싱하는 간단 예제

http://triki.net/wiki/84

 

답변을 작성하시기 전에 로그인 해주세요.
전체 14
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT