当前位置: 首页 > 工具软件 > xml-eval > 使用案例 >

lua读取xml

唐麒
2023-12-01

现有的数据库结构无法满足新需求,暂时得用脚本实现一下数据库的功能

首先得把数据取出来,当然不能手动,所以用了这个简单的方法

<RECORDS>
<RECORD>
	<id>1392</id>
	<osver>10000</osver>
	<appver>0</appver>
	<tag>0</tag>
	<channelid>0</channelid>
	<itemid>91014</itemid>
	<gameid>9</gameid>
</RECORD>
<RECORD>
	<id>1391</id>
	<osver>10000</osver>
	<appver>0</appver>
	<tag>0</tag>
	<channelid>0</channelid>
	<itemid>91013</itemid>
	<gameid>9</gameid>
</RECORD>
这是其中两条,现在就需要写脚本来处理了

require("LuaXml")
local file = xml.load("config_store_spec.xml")
local date = file:find("RECORDS")
local dateTable = {}

if date ~= nil then

	local n = 1
	local m = 1

	while date[n] ~= nil do
		m = 1
		local oneDate = {}
		while date[n][m] ~= nil do
			oneDate[(date[n][m][0])] = date[n][m][1]
			m = m + 1
		end
		dateTable[n] = oneDate
		n = n + 1
	end
end
这样就保存到table里了


以下为LuaXml的常用函数:
xml.new(arg)
创建一个新的XML对象


xml.append(var,tag)
添加一个子节点


xml.load(filename)
加载XML文件


xml.save(var,filename)
保存XML文件


xml.eval(xmlstring)
解析XML字符串


xml.tag(var, tag)
设置或返回一个XML对象


xml.str(var, indent, tag)
以字符串形式返回XML


xml.find(var, tag, attributeKey,attributeValue)
查找子节点


xml.registerCode(decoded,encoded)
设置文件编码类型

 类似资料: