2012-12-10 20 views
6

Sto lavorando per creare una libreria per la mia app in C. Voglio analizzare un file XML nel mio codice. Quindi, come posso farlo in C?C: Come analizzare XML in Android?

Conosco la sua implementazione java ma come posso analizzare un codice XML nel mio codice C?

Quali sono le librerie che possono essere utilizzate per lo scopo?

+3

Prova google –

+0

Come stai scrivendo una libreria C per Android? Non ho mai sentito nulla di simile prima (ma non tengo molto alla tecnologia Android). – Kevin

+2

@kevin ... mai sentito parlare di jni? – stinepike

risposta

3

suggerisco Expat, ho usato con molti progetti ed è molto semplice da usare e ha estremamente piccolo overhead. Anche la sua base di codice è abbastanza stabile.

Expat è una libreria parser XML scritto in C. E 'un parser flusso orientata in cui una domanda registra i gestori per le cose il parser potrebbe trovare nel documento XML (come avviare i tag).

Tuttavia, con ogni altro progetto esterno menzionato, è necessario costruire da soli.

+0

mi hai aiutato con una risposta in passato, puoi aiutarmi con questa domanda: http://stackoverflow.com/questions/13802869/working-with-aosp – Neji

+0

possiamo parlare nella chat room se sei libero! – Neji

+0

@NejiHyuga quale stanza? – auselen

2

si dovrebbe usare la libreria c per analizzare gli xmls. qui ci sono alcuni famosi link di libreria .. è possibile controllare

http://www.jclark.com/xml/expat.html

http://www.xmlsoft.org/

http://tibleiz.net/asm-xml/benchmark.html

si possono trovare molti altri biblioteca per analizzare xml. Ma se si dispone di tutta l'operazione di analisi leggero quindi è possibile utilizzare

http://www.minixml.org/

+1

Per aggiungere alla risposta, crea una delle librerie elencate e usale. Non esiste una libreria incorporata nella sezione nativa del sistema base Android (o qualsiasi altro sistema operativo basato su POSIX). – Samveen

+0

Oggi, 2017, esiste una "nateve XML lib"? Sembra XMLSOFT.ORG, il manutentore di LibXML2, come vedo (forse casuale) su https://android.googlesource.com/platform/external/libxml2.git –

2

ho usato http://www.minixml.org/ così vi suggerisco di utilizzare questo. Minixml è abbastanza semplice e facile da capire e da usare.

Quindi è possibile scaricare l'intero codice di minixml e cross-compilarlo per Android utilizzando toolchain Android o NDK Android. E ora collega quella libreria al tuo codice jni e usa la sua API nel tuo codice c.

Proprio refference per includeing libreria di 3a parte nel codice JNI vedere

How to link any library in ndk application