2010-06-30 2 views

답변

7

xerces DOM 파서입니다. Java 또는 C++의 Apache 구현입니다.

당신이 생각하고 싶은 두 가지는 SAX와 DOM입니다. DOM은 메모리에 객체 트리를 생성합니다. SAX는 그렇지 않습니다. DOM이 파싱 된 후에 객체 트리를 조작 할 수 있습니다. SAX는 이벤트 모델을 사용하여 XML을 즉시 처리합니다.

SAX 또는 DOM이 "작동"합니다. 선택은 보통 그것을 조작하거나 제자리에서 처리하기 위해 메모리에 유지할지 여부에 따라 결정됩니다. XML 스트림이 기가 바이트 인 경우 한 번에 모두 저장할 수 없습니다. 이 경우 SAX는 분석 할 때 즉시 작업 할 수 있기 때문에 좋은 선택입니다.

Google은 귀하의 친구입니다 : DOM4J와 JDOM에 대해 자세히 알아 보려면 시작 해보세요.

Java를 작성하는 경우 JDOM을 권하고 싶습니다. 그것은 많은 보일러 판 물건을 처리합니다.

+0

또한 알약 파서를 추가하십시오. dom4j and jdom – Mark

+0

이봐, 나에게 유용한 링크를 줄 수있어. – Manu

+0

과 파서가 가장 잘 사용됩니다. – Manu

3

Xerces.viz SAX & DOM에서 xml 파일을 구문 분석하는 두 가지 방법이 있습니다. SAX 파서 :

  1. 이벤트 기반 모델.
  2. 직렬 액세스 (이벤트 흐름).
  3. 메모리 사용량이 적습니다 (이벤트 만 생성 됨).
  4. 문서의 일부를 처리합니다 (관련 이벤트 수신).
  5. 문서를 한 번만 처리합니다.
  6. 순차적으로 문서를 처리하므로 역방향 탐색이 불가능합니다.
  7. 개체가 만들어집니다.

DOM 파서 :

  1. (객체 기반) 트리 데이터 구조.
  2. 임의 액세스 (메모리 내 데이터 구조).
  3. 메모리 사용량이 많습니다 (문서가 메모리에로드 됨).
  4. 문서 편집 (메모리 내 데이터 구조 처리).
  5. 여러 번 처리해야합니다 (메모리에로드 된 문서).
  6. 네비게이션 용이.
  7. 개체로 저장됩니다.