【问题标题】:Confirming existence of a string in an xml table Lua确认 xml 表 Lua 中是否存在字符串
【发布时间】:2018-02-21 11:36:24
【问题描述】:

大家下午好,

我的问题是我有 2 个 XML 列表
<List1> <Agency>String</Agency> </List1>

<List2><Agency2>String</Agency2><List2>.
在 Lua 中,我需要创建一个解析此列表的程序,当用户从列表 1 或列表 2 输入匹配字符串时,程序需要实际向用户确认该字符串是否属于 L1 或 L2,或者该字符串是否属于不存在。我是 Lua 和一般来说编程的新手,我将非常感谢您的回答。我有LuaExpat 作为插件,但我似乎无法真正从文件中读取,如果xml 列表写在代码中,我只能做一些初学者技巧。稍后这个小程序将由 RSS 提供。

【问题讨论】:

  • Lua 网站上列出的入门资源有什么问题?涵盖你需要知道的一切。不知道如何读取文件?看说明书,做教程。不知道如何在另一个字符串中找到一个字符串?看说明书,做教程。这一切都归结为将文件读入字符串并在该字符串中搜索另一个字符串。 Lua 的 io 和 string 标准库提供了所有你想要的方法。您只需学习该语言的基础知识并将您的问题分解为原子子问题。那不是我们的工作。
  • @Piglet - 问题是关于使用 LuaExpat,而不是标准 Lua 库。
  • @AlexandruIvan - 您应该向我们展示您尝试过的内容,例如您的代码。关于通过 LuaExpat 读取 XML,您到底有什么不清楚的地方?手册真的对您的任务没有帮助吗? Piglet 表现出如此情绪化的反应是因为您实际上是在询问“为我编写代码”,而不是描述您的问题并展示您自己解决问题的尝试。实际上,SO 不是“为我写代码”的网站。
  • 有礼貌。我只是指出你的问题可以用 Lua 的标准库来解决,你应该做一个教程,因为你提到你是 Lua 的新手......你的态度绝对不会让你在生活中更进一步。但请继续,继续侮辱那些试图帮助你却一无所知的人。
  • @EgorSkriptunoff : 要求"lom" lom=lxp.lom 句柄= io.open("Agencies.xml", "r") 句柄2 = io.open("Agencies1.xml", "r ") tbl= lom.parse(handle:read("*a")) tbl1= lom.parse(handle2:read("*a")) handle:close() 现在,如果我在里面做 XML 表代码作为“意大利面条代码”我可以浏览到它,但我无法浏览文件,这是我唯一的问题。在应用 LOM 时,我似乎无法浏览 XML 索引。

标签: lua expat-parser


【解决方案1】:
require("lxp") 
local stuff = {} 

xmldata="<Top><A/> <B a='1'/> <B a='2'/><B a='3'/><C a='3'/></Top>" 

function doFunc(parser, name, attr) 
  if not (name == 'B') then return end 
  stuff[#stuff+1]= attr 
end 

local xml = lxp.new{StartElement = doFunc} 
xml:parse(xmldata) 
xml:close() 

print(stuff[3].a) 

这段代码是一个有效的网络教程,一切都很好,它打印出来了。 3. 现在我想知道如何从实际文件中执行此操作,就好像我在 xmldata 变量下输入 io.read:(file, "r" or "rb" ) 并运行相同的东西,它返回空白空间或 nil .

【讨论】:

    猜你喜欢
    • 2018-07-17
    • 2021-12-11
    • 2021-12-11
    • 2013-07-28
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    相关资源
    最近更新 更多