XML에서 값을 추출하고 데이터베이스에서 업데이트해야하는 xml이 있습니다.xml에서 값을 큰 파일로 java에 매핑하는 방법
xml이 매우 큰 경우 1GB 이상일 수 있습니다.
파싱하고 추출하는 가장 효율적인 방법은 어느 것입니까?
Xpath가 빠릅니까?
XML에서 값을 추출하고 데이터베이스에서 업데이트해야하는 xml이 있습니다.xml에서 값을 큰 파일로 java에 매핑하는 방법
xml이 매우 큰 경우 1GB 이상일 수 있습니다.
파싱하고 추출하는 가장 효율적인 방법은 어느 것입니까?
Xpath가 빠릅니까?
그런 큰 파일을 스트리밍 방식으로 사용해야하는 경우 가장 쉬운 방법은 XML의 구조에 따라 다릅니다. 이 예를 들어, 독립적으로 처리 할 수있는 조각의 많은 만든 있다면
<rows>
<row>
<col name="col1">value1</col>
<col name="col2">value2</col>
</row>
<!-- and another million row elements -->
</rows>
는 그때, 그것을 처리 한 row
를 구문 분석 파일을 스트리밍 할 수있는 방법을 "반 스트리밍"을 던지는 부르는이 있습니다 (을 나타내는 객체 모델을 정의한 다음 문서에서 XMLStreamReader를 만들고 한 번에 하나의 행을 비 정렬 화)와 같은 도구를 사용하여 다음을 파싱 할 수 있습니다.
XPath는 대용량 문서에서 매우 느릴 수 있습니다. 스트리밍 파서 (SAX/StAX)를 사용하고 이동 중에 필요한 정보를 추출하는 것이 더 나을 것입니다.
나는이 기사를 보길 권합니다. http://www.onjava.com/pub/a/onjava/2007/09/07/schema-less-java-xml-data-binding-with-vtd-xml.html –