Diferența dintre: SAX parser, XPath, DOM, XMLPullParser

voturi
7

Vreau să știu diferența dintre cele patru tipuri de mai sus (SAXPaser, XPath, DOM, XMLPullParse) și atunci când ar trebui să folosim fiecare.

Întrebat 26/05/2012 la 11:10
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
9

SAX Parsing este cel mai bun pentru a pune în aplicare decât DOM, a se vedea diferența dintre aceste două în următoarele:

DOM

Nodurile sunt sub formă de copac Structura de memorie: Se Ocupă mai multă memorie, DOM este preferat doar în cazul documentelor XML mici mai lente în timpul rulării stocate ca Programatic ușor să pună în aplicare ușurința de navigare și utilizarea unui obiect.

SAX

Secvența de evenimente nu utilizează nici o memorie de preferat pentru documente mari. Mai repede în timpul rulării, datorită punctului menționat mai sus. Obiectele vor fi create. Necesitatea de a scrie cod pentru a crea obiecte în navigare înapoi SAX nu este posibilă, deoarece procesează secvențial documentul

Deci, dacă aveți fișiere foarte mari, atunci ar trebui să utilizați SAX parser, deoarece va declanșa evenimente și eliberarea lor, nimic nu este stocat în memorie, și folosind SAX parser nu puteți accesa elementul într-un mod aleatoriu nu există nici o cale de întoarcere! , Dar Dom vă permit să accesați orice parte din fișierul XML, deoarece păstrează întregul fișier / documentul în memorie.

a se vedea acest articol și puteți obține ceea ce vrei prin citirea Summary .

de asemenea , această legătură pentru a vedea performanța de diferite parser XML

introduceți descrierea imaginii aici

Publicat 26/05/2012 la 11:49
sursa de către utilizator

voturi
3

Vă rugăm să verificați mai jos link-uri ...

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

(Conform articolului de mai sus)

Ambele SAX si DOM sunt folosite pentru a analiza documentul XML. Ambele are avantaje și dezavantaje și pot fi utilizate în programarea noastră, în funcție de situație

SAX:

  1. Analizează nod de nod
  2. Doesnt stoca XML în memorie
  3. Noi cant insera sau șterge un nod
  4. De sus în jos pendulare

DOM

  1. Stochează întregul document XML în memorie înainte de a procesa
  2. Ocupă mai multă memorie
  3. Putem insera sau șterge noduri
  4. Traverse în orice direcție.

Dacă avem nevoie pentru a găsi o nevoie nod și doesnt pentru a insera sau șterge putem merge cu SAX în sine altfel DOM cu condiția avem mai multă memorie.

Publicat 26/05/2012 la 11:16
sursa de către utilizator

voturi
2

DOM

Nodurile sunt sub formă de copac Structura de memorie: Se Ocupă mai multă memorie, DOM este doar în preferat cazul XML mici documents..Store întregul document XML în memorie befor mai lent de prelucrare în timpul rulării stocate ca Programatic ușor să pună în aplicare Ușor un obiect de navigație și de utilizare, pot traversa în orice direcție. Putem insera sau șterge, modifica nodurile.

SAX: utilizați atunci când doriți să accesați XML (nu modifica XML)

Secvența de evenimente nu utilizează nici o memorie de preferat pentru magazinul documents.Doesn't mare XML în memorie înainte de procesare mai rapidă în timpul rulării, datorită punctului menționat mai sus. Obiectele vor fi create. Necesitatea de a scrie cod pentru a crea obiecte în navigare înapoi SAX nu este posibilă, deoarece procesează secvențial documentul, de sus în jos, dipozitive Nu putem insera sau șterge un nod

XPath: XPath este util atunci când aveți nevoie doar de o pereche de valori din documentul XML și știi unde să le găsiți (știți calea data./root/item/challange/text)

XMLPullParser: Rapid și necesită mai puțină memorie cu DOM

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

Publicat 21/05/2013 la 14:41
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more