lua-把table中的元素按照key的ascii码升序排序并组装成key-value的xml格式
来源:互联网 发布:会员生日提醒软件 编辑:程序博客网 时间:2024/05/20 19:20
跟外部的接口对接,很多接口都是http-xml的形式。
而且要求要把table中的元素按照key的ascii码升序排序后再组装成key-value的xml格式。
比如有一个table,tbl
tbl = {a=5,d=1,b=2,e=4,c=9}
需要组装成如下的xml
<xml><a>5</a><b>2</b><c>9</c><d>1</d><e>4</e></xml>
testsort.lua的代码如下
--打印tablefunction printTab(tab) for i,v in pairs(tab) do print(i,v) endend--把table按照key的升序排列并转换成xmllocal function table2xml(to_xml) local sorted_tbl ={} --1,使用table本身的下标遍历取值,如to_xml[1] = "a=5" for i in pairs(to_xml) do --to_xml[i]的值插入到sorted_tbl中 table.insert(sorted_tbl,i) end --2,排序,当table是这种格式{1="a=5",2="d=1"},可以使用sort函数进行排序 table.sort(sorted_tbl) --3,接下来就是把sorted_tbl中的元素一个个组织成xml格式 local to_bank_msg = "<xml>" for i, v in pairs(sorted_tbl) do if v ~=nil and v ~="" then to_bank_msg = to_bank_msg .. "<" .. v .. ">" .. to_xml[v] .. "</" .. v ..">" end end to_bank_msg = to_bank_msg .. "</xml>" return to_bank_msgendfunction main() local tbl = {a=5,d=1,b=2,e=4,c=9} printTab(tbl) print("---------------") local xml_msg = table2xml(tbl) print(xml_msg)endmain()
执行lua文件:lua testsort.lua
结果:<xml><a>5</a><b>2</b><c>9</c><d>1</d><e>4</e></xml>
排序成功
0 0
- lua-把table中的元素按照key的ascii码升序排序并组装成key-value的xml格式
- map中的元素按照key,value值排序
- 将对象数组按照每一组对象的key值大小进行字典顺序(ASCII值大小)升序排序
- python字典分别按照key和value升序或者降序排列--以给定一个含有重复元素的数组list,按照其出现次数大小降序输出
- Lua 创建key-value分离的“分离式table”
- JS数组排序-按照KEY的数字或者ascii码排序
- 把HashMap按照key的自然顺序排序
- lua 删除key,value table中指定元素
- DBInputFormat的key value 格式
- 把字符串中的数字找出来并按照升序排序
- map的排序(按照key值和按照value值)
- Map四种获取key和value值的方法,以及对map中的元素排序
- Map四种获取key和value值的方法,以及对map中的元素排序
- Map四种获取key和value值的方法,以及对map中的元素排序
- python 按照list中的dic的某key排序
- 把字典的key和value的值取出来,按照顺序存入到list中
- Map分别按照Key和value排序
- Map按照key和value进行排序
- HDU - 4545魔法串最长公共子序列
- LeetCode 之 Jump Game(贪心算法)
- 关于写博客
- Python笔记:weakref模块
- 架构师速成6.14-开发框架-异常处理
- lua-把table中的元素按照key的ascii码升序排序并组装成key-value的xml格式
- 九度1522(OJ)有问题
- 让在下面的文本框在弹出键盘时不会被挡住
- java微信公众平台开发四(上传素材)
- Java File类学习笔记5:FilenameFilter的几种基本用法
- hulu面试题1
- KMP算法解释
- 【Android应用开发技术:媒体开发】章节列表
- Android 圆弧形进度条 自定义View