2012-05-26 24 views

Odpowiedz

9

SAX analizowaniem jest najlepszy do wdrożenia niż DOM, dostrzec różnicę między tymi dwoma w następujący:

DOM

węzły są w postaci struktury drzewa Pamięć: zajmuje więcej pamięci , DOM jest preferowany tylko w przypadku małych dokumentów XML. Wolniejsze w czasie wykonywania Przechowywane jako obiekty Programowo łatwe do wdrożenia Łatwość nawigacji i użytkowania.

SAX

Sekwencja zdarzeń Nie używać pamięci preferowanego dla dużych dokumentów. Szybciej w czasie wykonywania, ze względu na wyżej wymieniony punkt. Obiekty należy tworzyć. trzeba pisać kodu do tworzenia obiektów W SAX Wstecznej nawigacji nie jest możliwe, gdyż kolejno przetwarza dokument

Więc jeśli masz bardzo duże pliki, należy użyć parsera SAX, ponieważ będzie ogień zdarzenia i uwalniając je, nic nie jest przechowywane w pamięci i przy użyciu parsera SAX nie można uzyskać dostępu do elementu w sposób losowy, nie ma odwrotu! , ale Dom umożliwia dostęp do dowolnej części pliku xml, ponieważ przechowuje cały plik/dokument w pamięci.

zobacz ten article i możesz uzyskać to, co chcesz, czytając Podsumowanie.

również sprawdzić link aby zobaczyć skuteczność różnych parsera XML

enter image description here

3

Proszę sprawdzić poniżej linków ...

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

(Zgodnie z powyższym artykułem)

Zarówno SAX, jak i DOM są używane do parsowania dokumentu XML. Oba ma swoje zalety i wady i może być używany w naszym programowania w zależności od sytuacji

SAX:

  1. Analizuje węzeł przez węzeł
  2. Doesnt przechowywania XML w pamięci
  3. Nie możemy wstawić lub usunąć węzeł
  4. góry do dołu przechodzącego

DOM

  1. Stores cały dokument XML do pamięci przed przetworzeniem
  2. Zajmuje więcej pamięci
  3. Możemy wstawić lub usunąć węzły
  4. Traverse w dowolnym kierunku.

Jeśli potrzebujemy znaleźć węzeł i nie trzeba go wstawiać ani usuwać, możemy przejść z SAX, w przeciwnym razie DOM pod warunkiem, że mamy więcej pamięci.

2

DOM

węzły są w postaci struktury drzewa Pamięć: zajmuje więcej pamięci, DOM jest preferowany tylko w przypadku małych dokumentów XML Przechowuj cały dokument XML w pamięci przed przetwarzaniem Wolniej w czasie wykonywania Zapisano jako obiekty Programowo łatwe do wykonania nt Łatwość nawigacji i użytkowania, mogą przechodzić w dowolnym kierunku. Możemy wstawiać lub usuwać, zmieniać węzły.

SAX: użyj gdy chcesz uzyskać dostęp do pliku XML (XML nie zmieni)

Sekwencja zdarzeń To XML w pamięci przed przetworzeniem Szybszy nie używać pamięci preferowanego dla dużego sklepu documents.Doesn't w czasie wykonywania, ze względu na wyżej wymieniony punkt. Obiekty należy tworzyć. trzeba pisać kodu do tworzenia obiektów W SAX Wstecznej nawigacji nie jest możliwe, gdyż kolejno przetwarza dokument, od góry do dołu przejeżdżające Nie możemy wstawić lub usunąć węzeł

XPATH: Xpath jest przydatna, gdy trzeba tylko kilka wartości z dokumentu XML i wiesz, gdzie je znaleźć (wiesz ścieżkę data./root/item/challange/text)

XMLPullParser: szybko i wymaga mniej pamięci z Domem

Źródło: http://www.time2ask.com/ http://www.time2ask.com/Android/The-difference-among-SAX-ParserXPathDOMXMLPullParser/_2361836

Powiązane problemy