在安卓系统中如何解析XML?

6

我正在努力为我的C应用程序创建一个库。我想在我的代码中解析XML文件。 那么,我应该如何在C语言中进行解析?

我知道有Java的实现方法,但是我如何在我的C代码中解析XML呢?

有哪些库可以用于此目的?


你是如何为Android编写C库的?我之前从未听说过这样的事情(但我并不太关注Android技术)。 - Kevin
2
@kevin... 你听说过JNI吗? - stinepike
@StinePike:好的,现在我有了 =D +1 - Kevin
3个回答

3
我建议使用Expat,我已经在许多项目中使用过它,非常容易使用,并且开销极小。它的代码库也相当稳定。

Expat是一个用C编写的XML解析器库。它是一个流式解析器,在其中应用程序为解析器可能在XML文档中找到的事物(如开始标记)注册处理程序。

然而,与其他提到的外部项目一样,您需要自己构建它。

你曾经帮助过我回答一个问题,现在能否帮我解决这个问题:https://dev59.com/-GYr5IYBdhLWcg3wR4Qs - Neji
如果你有空的话,我们能在聊天室里交流吗? - Neji
你好,今天有本地XML库吗?是LibXML2吗?我们在这里看到了一些信息(https://android.googlesource.com/platform/external/libxml2.git)?至于现代XQuery和XPath2的Java实现,对于Android来说是否太重了? - Peter Krauss

2

1
为了补充答案,可以构建列出的库之一并使用它们。在 Android 基本系统(或任何其他基于 POSIX 的操作系统)的本地部分中没有内置库。 - Samveen
今天的2017年,是否有一个"原生XML库"? 看起来是XMLSOFT.ORG,LibXML2的维护者,我在https://android.googlesource.com/platform/external/libxml2.git上看到了(也许是随机的)。 - Peter Krauss

2
我曾经使用过http://www.minixml.org/,所以我建议使用这个。Minixml非常简单易懂,容易使用。
因此,您可以下载整个minixml代码,并使用Android工具链或Android NDK交叉编译它。现在将该库链接到您的jni代码中,并在您的C代码中使用其API。
如果想要在jni代码中包含第三方库,请参考以下链接: 如何在NDK应用程序中链接任何库

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接