Desenvolvimento iPhone - XMLParser vs. libxml2 vs. TouchXML
-
03-07-2019 - |
Pergunta
Não consigo encontrar a comparação destes técnica de análise. Qual deles é mais comumente usado?
Cumprimentos. Mustafa
Solução
NSXMLParser é um SAX analisador, o que significa que percorre o documento XML, e informa-o ( métodos via delegado) de vários eventos (por exemplo, a partir de um nó XML, encontrando atributos, etc.). Este tipo de processamento XML é melhor para analisar documentos enormes, e quando você só precisa recuperar uma pequena quantidade de dados de um arquivo grande.
Em contraste com SAX é a DOM modelo, onde a árvore XML inteiro é analisado na memória (geralmente com uma única chamada), e então você pode explorar livremente o documento XML da API apresentado. Este é geralmente muito mais fácil trabalhar com, como você obtém acesso aleatório a todo o documento XML.
Assim, a primeira questão deve responder é o SAX vs questão DOM. Se você é woring com arquivos XML grandes (digamos, 10 MB ou maior), você pode querer ficar com SAX. Se você estiver trabalhando com arquivos XML pequenos, ou minúsculos fragmentos XML, muitas vezes é muito mais fácil usar DOM.
Se de fato você decidir ir com DOM, você tem algumas opções.
libxml2 é um poderoso API escrito em C. É principalmente para o uso de estilo DOM, mas tem outras opções se você se tornar experientes com ele. Mas, como está escrito em C, não é muitas vezes atraente para aqueles mais familiarizados com Objective-C (objetos e disparo automático), ou aqueles mais próximos do mundo .Net. Assim, existe a necessidade / desejo de um invólucro nativo Objective-C em torno libxml para torná-lo mais familiar. TouchXML é um tal invólucro. Ele funciona bem se você só precisa de acesso de leitura para o XML. Se você quiser alterar o XML, ou criar fragmentos XML / documentos a partir do zero, eu recomendo ir com KissXML .
Outras dicas
Tutorial XML para iOS: Como escolher o melhor analisador XML para seu projeto iPhone :
Há um monte de opções quando se trata de analisar XML no iPhone. O iPhone SDK vem com duas bibliotecas diferentes para escolher, e existem vários populares bibliotecas de terceiros disponíveis, tais como tbXml, TouchXML, KissXML, TinyXML e GDataXML. Como é que um desenvolvedor para escolher o melhor analisador XML para o seu projeto?
I foram recentemente tendo um olhar para as várias opções lá fora, e acabou estendendo a amostra XMLPerformance da Apple para experimentar cada uma das bibliotecas acima para saber como eles trabalharam e comparar o seu desempenho. Eu pensei que eu iria partilhar o que aprendi até agora a outros que possam estar procurando a melhor biblioteca XML para o seu projecto iPhone.
Neste tutorial XML nós vamos dar uma comparação detalhada das características e desempenho dos mais bibliotecas popular iPhone, explicar como escolher entre eles, e dar um projeto de exemplo que mostra como ler dados XML utilizando cada uma das bibliotecas acima ...
Há uma outra baseada em bloco de biblioteca boa análise XML - RaptureXML ( github ) por < a href = "https://stackoverflow.com/users/185387/zablanc"> ZaBlanc , fornece API no topo da libxml2 Objective-C, definitivamente, recomendo a experimentá-lo.