2013-09-26 4 views
-1

나는 개발자가 아니며 임시적인 방법을 사용하지만 조금 문제가있다. 내가하고있는 앱은 간단합니다. 하이퍼 릭 (Hyperic)에 webservice를 호출하여 서버 그룹의 상태를 가져 와서 xml 결과를 얻는다.스프링/톰캣의 립을 사용하여 XML 구문 분석하기

예컨대 이미 스프링 프레임 워크 libs와 가진 Tomcat6 서버 인에 나는 JSP를 작성하고있는 서버로보고

<LastMetricsDataResponse> 
    <Status>Success</Status> 
    <LastMetricData resourceId="11678" resourceName="ptseelm-ax4066.myco.com HQ Agent 5.7.1" metricId="15126" metricName="JVM Free Memory"> 
     <DataPoint timestamp="1380197100000" value="1.479712E7"/> 
    </LastMetricData> 
    <LastMetricData resourceId="11678" resourceName="ptseelm-ax4066.myco.com HQ Agent 5.7.1" metricId="15127" metricName="JVM Total Memory"> 
     <DataPoint timestamp="1380197100000" value="3.5864576E7"/> 
    </LastMetricData> 
</LastMetricsDataResponse> 

, 그것은 내가 필요 없다면 다른 libs와 사용하는 미친 것 같다.

기본적으로 resourceNames, metricNames, timestamp 및 value를 가져와야합니다. 값을 기반으로하는 테이블 또는 일종의 신호등에서 인쇄하십시오.

나는 webserviceurl을 간단하게 호출 할 수있는 간단한 JSP를 사용하여 해시 맵이나 콜렉션 또는 비슷한 것으로 원하는 XML을 파싱한다. 이미 스프링 MVC 응용 프로그램이있는 경우 멍청한 놈이

+1

XML 문서를 구문 분석하는 방법에 대한 가능한 복제본? (http://stackoverflow.com/questions/3050036/how-to-parse-xml-document) –

+0

-1 Java에서 XML을 구문 분석하는 방법은 수 많은 기사가 있습니다. –

답변

1

을 :)하십시오

도움말, 나는 간단한 해결책이 원수 간단한 JAXB 주석을 사용하여 자바 객체로 XML의 웹 서비스의 응답이라고 생각합니다.

그런

(JAXB는 톰캣이나 봄에 포함되어 있지만, 빛 항아리이며 우아하게 문제가 해결되지 않음), 봄 컨트롤러에서 당신이 검색 할 ModelMap에 marhalled 객체를 넣을 수 있습니다 JSP의 값.


에 봄 컨트롤러에서 개체를 전달하는 방법을 이해하지만 당신의 최우선 이미 라이브러리를 사용하는 경우, 당신은 자바 표준 DocumentBuilder을 사용할 수 있습니다 Document으로 XML을 구문 분석하고 NodeList 컬렉션으로 이름 태그를 얻을 수 있습니다 :

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
DocumentBuilder db = dbf.newDocumentBuilder(); 
Document doc = db.parse(new InputSource(new StringReader(xml))); 
NodeList lastMetrics = doc.getElementsByTagName("LastMetricData"); 
+0

예 이미 사용 가능한 라이브러리 만 사용하는 것이 요점 인 JAXB에 대해 읽었습니다. 우리는 여기에 XLST라는 중장비를 이야기하지 않습니다 ... 일부 v 매우 적은 양의 데이터에 대해 빠르고 v 더러운 것. 앞으로 재창조해야하는 동료를위한 설치 지침을 복잡하게 만들 필요가 없습니다. – Seer

+0

나는 나의 대답을 편집했다. 당신의 시도와 당신을 도울 수있는 몇 가지 코드를 게시 해주십시오. 행운을 빕니다. – zerologiko

+0

감사합니다 @zerologiko - 오늘은 생산 과정에서 큰 문제가 있지만 주말이나 후에 뭔가를 시도 할 것입니다. – Seer

관련 문제