Pergunta

Estou aprendendo a Android api de um livro, e parece que não há qualquer menção de um stream-lined api para lidar com raw xml (leitura e escrevendo). Sua sugestão para análise é a XmlPullParser, e os seus exemplos olhar horrendo considerando o tipo de api's estou muito bem tratados pelo em outras plataformas (LINQ to XML especialmente).

Esta é a melhor técnica disponível no Android platform?

Obviamente, eu posso escrever um wrapper para evitar o material repetitivo, mas eu ficaria surpreso se existe tal coisa já existe.

Além disso, ele nem sequer fazer menção de criar xml structures no código. Quais são as minhas opções para ambos?

Em uma nota lateral, fazer qualquer devs Java que estão familiarizados com LINQ to XML in .Net sei de nada equivalente em Java?

Foi útil?

Solução

Uma vez que você provavelmente não quer carregar quaisquer DOM tamanho substanciais na memória do Android - tração e analisadores SAX são a forma preferida lidar com XML em Android. Eu acho que vale a pena investir em compreender como funciona SAX e escrever um manipulador personalizado de confiar em algumas bibliotecas genéricas que podem ser incompatíveis ou overbloated. I XML de análise em meus aplicativos usando SAX o tempo todo e eu estou muito satisfeito com a velocidade (na maioria das vezes)

Outras dicas

Bem, eu sou muito novo para Java, mas aqui é o que eu adquirida até agora sobre análise XML on Android:

A abordagem XmlPullParser é recomendado para Android devido a limitações de recursos. Há um parser DOM disponível em Android, que iria deixá-lo usar XPath para navegar um documento XML. Usando os meios DOM que você tem que carregar todo o documento para a memória de uma só vez, no entanto. O método XmlPullParser é muito mais eficiente em termos de memória utilizado.

O método XmlPullParser leva um pouco de tempo para se acostumar depois de estar confortável com LINQ to XML ou XPath, mas não é realmente muito ruim IMHO (pelo menos com os documentos que eu estava Análise). Se você estiver trabalhando com documentos XML pequenos você poderia certamente usar o DOM com o XPath.

Há um artigo decente sobre os diferentes métodos para ler e escrever XML com Android aqui: http://www.ibm.com/developerworks/opensource/ biblioteca / x-android / index.html

Eu tive os mesmos problemas com análise de XML ou XHTML e acabou escrevendo um webservice fazendo isso por mim.

Android Device ->(Request URL) -> Webservice Get and Parse -
-> (Data) -> Android Device

Você pode transmitir os dados em JSON para trabalhar com ele no dispositivo. A vantagem disso é que você pode minimizar o tráfego na rede móvel lento e mudar a análise sem lançar um novo aplicativo android.

Talvez este é vai trabalhar para você também.

relação

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