2013-02-22 5 views
0

XML에서 값을 추출하고 데이터베이스에서 업데이트해야하는 xml이 있습니다.xml에서 값을 큰 파일로 java에 매핑하는 방법

xml이 매우 큰 경우 1GB 이상일 수 있습니다.

파싱하고 추출하는 가장 효율적인 방법은 어느 것입니까?

Xpath가 빠릅니까?

+0

나는이 기사를 보길 권합니다. http://www.onjava.com/pub/a/onjava/2007/09/07/schema-less-java-xml-data-binding-with-vtd-xml.html –

답변

0

그런 큰 파일을 스트리밍 방식으로 사용해야하는 경우 가장 쉬운 방법은 XML의 구조에 따라 다릅니다. 이 예를 들어, 독립적으로 처리 할 수있는 조각의 많은 만든 있다면

<rows> 
    <row> 
    <col name="col1">value1</col> 
    <col name="col2">value2</col> 
    </row> 
    <!-- and another million row elements --> 
</rows> 

는 그때, 그것을 처리 한 row를 구문 분석 파일을 스트리밍 할 수있는 방법을 "반 스트리밍"을 던지는 부르는이 있습니다 (을 나타내는 객체 모델을 정의한 다음 문서에서 XMLStreamReader를 만들고 한 번에 하나의 행을 비 정렬 화)와 같은 도구를 사용하여 다음을 파싱 할 수 있습니다.

0

XPath는 대용량 문서에서 매우 느릴 수 있습니다. 스트리밍 파서 (SAX/StAX)를 사용하고 이동 중에 필요한 정보를 추출하는 것이 더 나을 것입니다.

관련 문제