Lua - 使用LuaXML进行XML解析

时间:2013-08-13 22:47:59

标签: xml parsing lua luaxml

我正在尝试使用LuaXML

解析XML文件
function customURLtoSteam64(web, sid)
local xml = require("luaXml")
local xfile = xml.load("http://steamcommunity.com/id/GreenMarineValve?xml=1") --line189
local xscene = xfile:find("steamID64[1]") 
return render_front(web, xscene)
end

但是我收到了这个错误:

.\index.lua:189: attempt to index local 'xml' (a boolean value)
stack traceback:
.\index.lua:189: in function <.\index.lua:186>
(tail call): ?
(tail call): ?.\index.lua:189: attempt to index local 'xml' (a boolean value)
stack traceback:
c:\Lua\LuaRocks/share/lua/5.1/coxpcall.lua:24: in function 
(tail call): ?
(tail call): ?
c:\Lua\LuaRocks/share/lua/5.1/orbit.lua:540: in function 
(tail call): ?
(tail call): ?

我不明白出了什么问题,我怎么能正确地做到这一点?

1 个答案:

答案 0 :(得分:3)

你使用的require成语是推荐用于Lua 5.2的成语。虽然这个成语也适用于Lua 5.1,但是Lua 5.1的大多数(但不是全部)库通常都定义了全局变量而没有返回它们通过require定义的值。如果luaopen_xxx函数没有返回值,require将返回true,因此会显示您看到的错误消息。

因此,只需使用require("luaXml"),不要将其分配给本地。