您的位置:首页 > 编程语言 > Lua

LuaXml 简单介绍

2014-08-04 17:15 330 查看
LUA在字符串处理上虽然比较方便,但是直接是同string操作XML还是比较麻烦的。LuaXML就是专为了处理XML而编写的第三方库,LuaXML不光能用于lua脚本同事也提供了C语言的支持。下面简单介绍一下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)

设置文件编码类型

 

 

 

测试XML文件:

[html] view
plaincopy

<test>  

    <item id="1">  

        <field name="aa" />  

        <field name="bb" />  

    </item>  

</test>  

 

 

Lua脚本:

[plain] view
plaincopy

-- 导入依赖文件  

require('LuaXml')  

  

-- 加载XML文件  

local xfile = xml.load("test.xml")  

-- 查找子节点  

local item = xfile:find("item")  

-- 节点不为空  

if item ~= nil then  

 -- 节点对应键值  

 print( item.id);  

  

 -- 修改键值  

 item.id = "abc";  

 print( item.id);  

  

 -- 第一个子节点  

 local field = item[1];  

 print( field);  

 print( field.name);  

   

 -- 获得子节点数量  

 print( table.getn( item));  

  

end  

  

-- 添加子节点  

local xNewFile = xml.new("root");  

-- 设置子节点键值  

local child = xNewFile:append("child");  

child.id = 1;  

xNewFile:append("child").id = 2;  

  

-- 添加text节点  

xNewFile:append("text")[1] = 'test';  

  

print( xNewFile);  

-- 保存文件  

xNewFile:save"t.xml";  

 

 

保存的XML文件:

[html] view
plaincopy

<?xml version="1.0"?>  

<!-- file "t.xml", generated by LuaXML -->  

  

<root>  

  <child id="1" />  

  <child id="2" />  

  <text>test</text>  

</root>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lua