2012-05-26 2 views
7

위의 네 가지 유형 (SAXPaser, XPath, DOM, XMLPullParse)의 차이점과 각 항목을 언제 사용해야하는지 알고 싶습니다.차이점 : SAX 파서, XPath, DOM, XMLPullParser

+0

내 apdated 대답을 참조하십시오! 희망이 당신을 도울 것입니다. –

답변

9

SAX 구문 분석은, DOM보다 구현 다음에이 둘 사이의 차이를 볼 수있는 가장 좋은 하나입니다

노드가 트리 구조의 형태에

DOM 메모리 : 그것은 더 많은 메모리를 차지 , DOM은 작은 XML 문서의 경우에만 사용됩니다. 런타임시 느림 객체로 저장 됨 프로그래밍 방식으로 구현하기 쉽습니다. 탐색 용이성 및 사용법. 이벤트 의

SAX

순서는 큰 문서를 선호하는 메모리를 사용하지 않습니다. 위에서 언급 한 점 때문에 런타임이 빠릅니다. 개체가 생성됩니다.당신이 그들을 이벤트를 발생 및 방출하기 때문에 당신이 SAX 파서를 사용합니다 후 매우 큰 파일이있는 경우가 순차적으로 문서 그래서

를 처리로 SAX 뒤로 탐색에서 객체 를 만들기위한 코드를 작성해야하는 것은 가능하지 않다, 아무것도 메모리에 저장되고 SAX 파서를 사용하면 무작위 방식으로 요소에 액세스 할 수 없습니다. , Dom은 메모리에 전체 파일/문서를 보관하므로 xml 파일의 모든 부분에 액세스 할 수 있습니다.

article을 확인하고 요약을 읽고 원하는 것을 얻을 수 있습니다. 또한

link 다른 XML 파서의 성능을 볼 수 확인

enter image description here

3

링크 아래에서 확인하시기 바랍니다 ...

http://steveliles.github.com/comparing_methods_of_xml_parsing_in_android.html

http://xjaphx.wordpress.com/2011/11/01/android-xml-adventure-compare-xml-parsers/

http://www.ibm.com/developerworks/opensource/library/x-android/index.html

http://www.developer.com/ws/android/development-tools/Android-XML-Parser-Performance-3824221-2.htm

http://www.geekinterview.com/question_details/12797

(위 조항에 따라)

SAX와 DOM은 모두 XML 문서를 구문 분석하는 데 사용됩니다. 둘 다 장점과 단점을 가지고 있으며, 우리의 프로그램은 상황에 따라 사용할 수 있습니다

SAX :

  1. 않아요 메모리에 XML을 저장 노드에 의해 노드
  2. 우리는 삽입하거나 삭제하지 못할 구문 분석 횡단 아래로 노드
  3. 최고

DOM

  1. 상점은
  2. 을 처리하기 전에 메모리에 전체 XML 문서는 어떤 방향으로 더 많은 메모리를
  3. 우리는 삽입하거나 삭제할 수있는 노드
  4. 트래버스을 차지합니다.

노드를 찾아서 삽입하거나 삭제해야 할 필요가없는 경우 SAX 자체와 함께 DOM을 사용할 수 있으며 더 많은 메모리가 제공됩니다.

2

는 DOM

노드가 트리 구조의 형태에 는 메모리 : 그것은 더 많은 메모리를 차지, DOM은 preffered있다 작은 XML 문서의 경우. 전체 XML 문서를 메모리에 저장합니다. 런타임시 느림 객체로 저장 됨 프로그래밍 방식으로 구현하기 쉽습니다. nt 탐색 및 사용의 용이성, 어느 방향으로나 이동할 수 있습니다. 노드를 삽입하거나 삭제할 수 있습니다.

SAX : 당신이 이벤트 그것은 메모리에 XML 빠른을 처리하기 전에 큰 documents.Doesn't 저장소 선호 메모리를 사용하지 않습니다의

시퀀스 (XML을 변경하지) XML을 액세스 할 때 사용 위에서 언급 한 점 때문에 런타임에. 개체가 생성됩니다. XPath는 유용 경우에만 필요가 순차적으로 바닥 를 가로 지르는 우리는

가 XPATH 노드를 삽입하거나 삭제할 수 없습니다에 문서, 정상 처리로 SAX 뒤로 탐색에서 객체 를 만들기위한 코드를 작성할 필요가 불가능합니다 그들을 찾을 수 당신이 알고있는 XML 문서에서 값의 커플 (당신이 data./root/item/challange/text의 경로를 알고)

는 XMLPullParser은 : 빠른 및 DOM

적은 메모리를 필요로

출처 : http://www.time2ask.com/ http://www.time2ask.com/Android/The-difference-among-SAX-ParserXPathDOMXMLPullParser/_2361836