我正在尝试使用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): ?
我不明白出了什么问题,我怎么能正确地做到这一点?
答案 0 :(得分:3)
你使用的require
成语是推荐用于Lua 5.2的成语。虽然这个成语也适用于Lua 5.1,但是Lua 5.1的大多数(但不是全部)库通常都定义了全局变量而没有返回它们通过require
定义的值。如果luaopen_xxx
函数没有返回值,require
将返回true,因此会显示您看到的错误消息。
因此,只需使用require("luaXml")
,不要将其分配给本地。