Pergunta

Não consigo encontrar a comparação destes técnica de análise. Qual deles é mais comumente usado?

Cumprimentos. Mustafa

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top