如何在Lua中解析xml文件?

时间:2016-11-16 14:41:36

标签: xml lua

我想用Lua解析一个简单的xml文件。我应该使用什么lua xml库?我试过xml lib by Lubyk,但它对我没用。

这是我做的: <form action="/gtvg/subscribe"> <fieldset> <input type="text" name="email" /> <input type="submit" value="¡Suscríbe!"/> </fieldset> </form>

试图导入模块: $ sudo luarocks install xml

结束于:

require("xml")

那么,Lua中的defacto xml读取库是什么?

1 个答案:

答案 0 :(得分:1)

好的,尝试使用各种xml库后,对我有用的是 xmlreader

$ sudo luarocks install lua-xmlreader

然后,根据xmlreader docs:

require('xmlreader')

fhandle = io.open("temp.xml", 'r')
data = fhandle:read("*a")

local r = assert(xmlreader.from_string(data))
while (r:read()) do
  local leadingws = ('    '):rep(r:depth())
  if (r:node_type() == 'element') then
    io.write(('%s%s:'):format(leadingws, r:name()))
    while (r:move_to_next_attribute()) do
      io.write((' %s=%q'):format(r:name(), r:value()))
    end
    io.write('\n')
  end
end

上面的代码打印出文档的xml结构。