rozwój iPhone ' a - XMLParser vs. libxml2 vs. touchxml

Nie mogę znaleźć porównania tych technik parsowania. Który z nich jest najczęściej używany?

Pozdrawiam. Mustafa

Author: Mustafa, 2009-01-02

3 answers

Nsxmlparser jest parserem SAX, co oznacza, że przechodzi przez dokument XML i informuje (za pomocą metod delegatów) o różnych zdarzeniach (takich jak uruchomienie węzła xml, znalezienie atrybutów, itp.). Ten rodzaj przetwarzania XML jest najlepszy do analizowania dużych dokumentów i wtedy, gdy potrzebujesz tylko pobrać niewielką ilość danych z dużego pliku.

W przeciwieństwie do SAX jest model DOM , w którym całe drzewo XML jest parsowane do pamięci (zwykle jednym wywołaniem), a następnie można swobodnie przeglądaj dokument XML z prezentowanego API. Jest to na ogół znacznie łatwiejsze do pracy, ponieważ masz losowy dostęp do całego dokumentu xml.

Pierwsze pytanie, na które należy odpowiedzieć, to pytanie SAX vs DOM. Jeśli pracujesz z dużymi plikami XML (powiedzmy 10 MB lub większymi), możesz chcieć trzymać się SAX. Jeśli pracujesz z małymi plikami XML lub małymi fragmentami XML, często korzystanie z DOM jest znacznie łatwiejsze.

Jeśli rzeczywiście zdecydujesz się na DOM, masz kilka opcje.

Libxml2 jest bardzo potężnym API napisanym w C. Jest głównie do użytku w stylu DOM, ale ma inne opcje, jeśli doświadczysz z nim. Ale, jak to jest napisane w C, nie jest często atrakcyjne dla tych bardziej zaznajomionych z Objective - C (obiekty i autorelease), lub tych pochodzących ze świata. Net. Tak więc, istnieje potrzeba/pragnienie, aby natywny Objective-C wrapper wokół libxml sprawił, że stał się bardziej znany. TouchXML jest jednym z takich wrapperów. Działa dobrze, jeśli potrzebujesz tylko dostępu do odczytu XML. Jeśli chcesz zmienić XML, lub utworzyć fragmenty/dokumenty XML od zera, polecam przejść z KissXML.

 58
Author: Robbie Hanson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-02 20:20:24

Zobacz XML Tutorial dla iOS: jak wybrać najlepszy Parser XML dla projektu iPhone :

Istnieje wiele opcji, jeśli chodzi o parsowanie XML na iPhonie. IPhone SDK jest wyposażony w dwie różne biblioteki do wyboru, a dostępnych jest kilka popularnych bibliotek stron trzecich, takich jak TBXML, TouchXML, KissXML, TinyXML i GDataXML. Jak programista wybiera najlepszy parser XML dla swojego projektu?

Ostatnio przeglądałem różne opcje tam, a skończyło się rozszerzenie próbki XMLPerformance od Apple, aby wypróbować każdą z powyższych bibliotek, aby dowiedzieć się, jak działają i porównać ich wydajność. Pomyślałem, że podzielę się tym, czego nauczyłem się do tej pory innym, którzy mogą szukać najlepszej biblioteki XML dla swojego projektu iPhone.

W tym samouczku XML podamy szczegółowe porównanie funkcji i wydajności najpopularniejszych bibliotek iPhone ' a, wyjaśnimy, jak wybrać między nimi i podaj przykładowy projekt pokazujący jak odczytywać dane XML przy użyciu każdej z powyższych bibliotek...

 14
Author: Andrew Kovzel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-23 14:59:08

Jest jeszcze jedna dobra biblioteka parsowania XML oparta na blokach-RaptureXML (github) by ZaBlanc, dostarcza API Objective-C na szczycie libxml2, zdecydowanie polecam spróbować.

 2
Author: danylokostyshyn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:36