【问题标题】:How to correctly use a Lua-XML parser (lua expat / LuaXml)如何正确使用 Lua-XML 解析器 (lua expat / LuaXml)
【发布时间】:2013-10-03 18:39:11
【问题描述】:

我在 Visual Studio 中有我执行的 C++ 代码,这最终会使用我的 Lua 代码执行我的 .lua 文件。 我的目标是为 Lua 提供一个 XML 文件。 经过一些研究,我现在知道我需要为此使用解析器。

两个好的解析器似乎是:

问题是,我不知道如何使用这些。是的,这听起来很简单,但我对这整件事很陌生,不理解这些解析器的描述。所以我的问题是:

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

【问题讨论】:

    标签: xml xml-parsing lua luaxml


    【解决方案1】:

    我使用 LuaXML 来满足我的要求,因为它是搜索的第一个结果,并且在 lua-users.org 上记录了一些非常好的示例。

    您还可以在他们的project website 上查看 lua eXpat 的示例。

    安装

    如果您是 Windows 用户,可以查看lua For Windows。正如他们所说,它还有许多其他“电池”。 :)

    对于 Linux,安装说明在其各自的网站上有很好的记录。

    【讨论】:

    • 感谢您的回答。我确实看到了所有这些例子。但我仍然不知道该怎么做(这太抽象了,因为我是这个领域的新手)。你如何使用 LuaXML?你是否启动 .exe 文件(下载附带)并输入 smth?你是否将某些文件放在任何地方?很抱歉问了这么多细节,但我不知道。附言。我也用窗户。
    • 同时我尝试使用 lua for windows(见上面的评论)但我仍然迷失在问题中。所以任何帮助仍然非常感谢..
    【解决方案2】:

    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)
    

    【讨论】:

    • 好的,我明天早上在我的工作电脑上试试这个。前面还有一个问题:(1)我在哪里实际执行/输入订单?我的意思是..在我的lua控制台中?或者在下载时附带的这个 exe 文件中?(2) LuaXML 会生成一个新文件(供 lua 使用),其中包含以前的 xml 数据或者我在哪里可以访问这些数据?
    • 在 Lua 控制台中运行这些行。 LuaXML 在解析 XML 文件时不会创建文件,而是返回一个 object(实际上是一个表),表示存储在内存中的 XML 内容。
    • 我通过视觉工作室尝试过,但没有成功。当我在控制台中输入代码时,它说找不到文件。我下载了 lua for windows(所以没有从 vs 编译)并使用普通的控制台窗口。当我输入行时没有错误出现。我现在的问题是,我到底要在那里输入什么?如果我按照这个例子什么都不会发生......我在这里感到很失落......我希望你能帮助我......
    猜你喜欢
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 2014-01-09
    相关资源
    最近更新 更多