如何正确使用 Lua-XML 解析器(如 lua expat / LuaXml)

我有一份C++代码在Visual Studio中执行,最终可以执行我的.lua文件,并且使用我的Lua代码。我的目标是将XML文件提供给Lua使用。经过研究,我现在知道我需要使用一个解析器。

两个好的解析器似乎是:

问题是,我不知道如何使用这些解析器。是的,听起来很简单,但我对这整件事情还是很新,并且不明白这些解析器的描述。所以我的问题是:

  1. 我如何使用/安装这些解析器,更准确地说,哪些文件必须放在哪里?
  2. 在那之后,我需要做什么才能将XML文件供Lua使用?
  3. 解析后的数据将在不同的文件中可用,还是直接在我的Lua代码中?
点赞
用户1190388
用户1190388

我使用LuaXML来满足我的需求,因为它是搜索结果中的第一个,并且在lua-users.org网站上有一些非常好的示例文档。

您还可以在他们的项目网站上查看Lua eXpat的示例。

安装

如果您是Windows用户,可以参考lua For Windows。它有许多其他称之为“batteries”的功能。

对于Linux,安装说明在它们各自的网站上都有很好的文档。

2012-10-14 16:42:39
用户1008957
用户1008957

LuaXML 和 LuaExpat 都由一个 C 库和一个 Lua 粘合文件组成。

C 文件可以在 Windows 上编译成 DLL,DLL 必须放置在 package.cpath 给定的路径中。如果您在 Visual Studio 中从源代码编译 Lua,则可以将 LuaXML_lib.c(假设为 LuaXML)与 Lua 文件一起编译,并将 luaopen_LuaXML_lib 添加到 linit.c 中找到的模块列表中。

Lua 库文件 LuaXml.lua 必须放置在 package.path 中列出的目录之一中。

如果您不知道系统上的路径,请尝试运行以下命令:

print("C path:", package.cpath)
print("Lua path:", package.path)
2012-10-14 18:39:21