2012-03-10 5 views
0

내 자신의 벤치 마크 및 다른 웹 링크에서 JAXB는 DOM 라이브러리와 비교하여 XML 파일을 구문 분석하는 데 빠릅니다. 그러나 루트 객체에서 JAXB 객체를 검색하려고하면 DOM에 비해 속도가 떨어집니다.JAXB 객체의 빠른 검색

JAXB로 검색 할 때 JXPathContext 클래스와 getValue() 메소드와 같은 Apache JXPath 라이브러리를 사용했습니다. DOM을 사용한 검색의 경우 Document 클래스와 getElementsByTagName() 메서드를 사용했습니다. 내 벤치마킹은 전자가 나중보다 훨씬 느리다는 것을 보여줍니다.

XML 파일을 빠르게 구문 분석하려면 JAXB를 사용하고 싶지만 노드 객체를 빠르게 검색하려면 DOM을 사용해야합니다. JAXB 객체 검색이나 JAXB 트리를 JXPath보다 빠르게 탐색하는 등, 둘 다 수행하는 최적의 방법이 있는지 궁금합니다.

미리 감사드립니다.

답변

1

여기에 분명한 내용이 없습니까?

Java 객체에 대한 JAXB 마샬링. Java 객체는 메소드를 전달할 수 있습니다. 검색 방법 등. 인트로 스펙 션의 힙을 사용하여 일반적인 메소드의 주석을 알아 내야하는 것보다 훨씬 빠르다. XML의 무관 한 부분을 기본적으로 건너 뛸 수 있기 때문이다. 더 나은 점은 특정 검색 쿼리에 대해 데이터 구조 자체 (Java 객체)를 최적화 할 수 있다는 것입니다.

+0

좋은 지적 주셔서 감사합니다. 나는 확실히 루트 자바 클래스에 전용 검색 메소드를 추가 할 수 있지만, DOM 라이브러리만큼 훌륭하지는 않다. 비슷한 성능을 가진 DOM Document 클래스와 같이 JAXB에서 객체를 검색하는 일반적인 방법이 있는지 또는 적어도 JXPath 라이브러리보다 빠른지 궁금합니다. –