【问题标题】:C: How to parse XML in android?C:如何在android中解析XML?
【发布时间】:2012-11-27 14:18:10
【问题描述】:

我正在为我的 C 应用程序创建一个库。我想在我的代码中解析一个 XML 文件。 那么,我怎样才能在 C 中做到这一点?

我知道它的 java 实现,但是如何在我的 C 代码中解析 XML?

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

【问题讨论】:

  • 您如何为 Android 编写 C 库?我以前没有听说过这样的事情(但我不太了解 Android 技术)。
  • @kevin ...听说过 jni 吗?
  • @StinePike:好吧,现在我有 =D +1
  • +1 这是个好问题...!!!

标签: android c xml-parsing android-ndk


【解决方案1】:

我建议Expat,我用过很多项目,它使用起来非常简单,而且开销极小。它的代码库也相当稳定。

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

但是,对于提到的所有其他外部项目,您需要自己构建它。

【讨论】:

  • 你过去曾帮助我回答过这个问题,你能帮我解决这个问题吗:stackoverflow.com/questions/13802869/working-with-aosp
  • 如果你有空,我们可以在聊天室交谈吗!
  • 嗨,今天有一个 native-XML-Lib 吗?是像我们seem something here那样的LibXML2吗?关于现代 XQuery 和 XPath2 的 Java 实现,对 Android 来说有那么重吗?
【解决方案2】:

你应该使用 c 库来解析 xmls。这里有一些著名的图书馆链接..你可以查看

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

http://www.xmlsoft.org/

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

您可以找到许多其他库来解析 xml。但是如果你有任何轻量级的解析任务,那么你可以使用

http://www.minixml.org/

【讨论】:

  • 要添加答案,请构建列出的库之一并使用它们。 android 基础系统(或任何其他基于 POSIX 的操作系统)的本机部分没有内置库。
  • 今天,2017,有一个“nateve XML lib”吗?似乎 XMLSOFT.ORG 是 LibXML2 的维护者,正如我在 android.googlesource.com/platform/external/libxml2.git 看到的(可能是随机的)
【解决方案3】:

我使用过http://www.minixml.org/,所以我建议使用它。 Minixml 非常简单,易于理解和使用。

因此,您可以下载 minixml 的整个代码并使用 Android 工具链或 android NDK 为 Android 交叉编译它。现在将该库链接到您的 jni 代码并在您的 c 代码中使用它的 API。

在 jni 代码中包含 3rd 方库的参考请参阅

How to link any library in ndk application

【讨论】:

    猜你喜欢
    • 2013-10-04
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多