lua table转成xml字符串

local function table_to_xml_table(old_table,new_table)
	for key,value in pairs(old_table) do
		if "table" == type(value) then
		    table.insert(new_table,"<")
		    table.insert(new_table,key)
		    table.insert(new_table,">")
		    table_to_xml_table(value,new_table)
		    table.insert(new_table,"")
		else
		    table.insert(new_table,"<")
		    table.insert(new_table,key)
		    table.insert(new_table,">")
		    table.insert(new_table,value)
		    table.insert(new_table,"")
		end
	end
end

--table转成xml字符串
local function table_to_xml_string(version,charset,_table)
	local new_table = {}
	table_to_xml_table(_table,new_table)
	table.insert(new_table,1,'')
	return table.concat(new_table)
end


用例:

local t = {
	["response"] = {
		["error_code"] = 0,
		["error_msg"] = "success!"
	}
}
print(table_to_xml_string("1.0","utf-8",t))

PS:上面的代码比较简单易懂,不过健壮性不好

你可能感兴趣的:(lua)