From dab0beb261ffd97c345171fa97616e2a8e85c174 Mon Sep 17 00:00:00 2001 From: hz <936432896@qq.com> Date: Thu, 17 Jan 2019 15:54:42 +0800 Subject: [PATCH 1/2] support snake_case --- xmlSimple.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xmlSimple.lua b/xmlSimple.lua index 2a49e2b..4b04d7b 100644 --- a/xmlSimple.lua +++ b/xmlSimple.lua @@ -51,7 +51,7 @@ function newParser() end function XmlParser:ParseArgs(node, s) - string.gsub(s, "(%w+)=([\"'])(.-)%2", function(w, _, a) + string.gsub(s, "([%w_]+)=([\"'])(.-)%2", function(w, _, a) node:addProperty(w, self:FromXmlString(a)) end) end From 900c2e046f388ba071121a61576fa480ede9a178 Mon Sep 17 00:00:00 2001 From: hz <936432896@qq.com> Date: Thu, 17 Jan 2019 16:58:33 +0800 Subject: [PATCH 2/2] lua 5.3 or high version supported --- xmlSimple.lua | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/xmlSimple.lua b/xmlSimple.lua index 4b04d7b..9c9f0f7 100644 --- a/xmlSimple.lua +++ b/xmlSimple.lua @@ -1,4 +1,4 @@ -module(..., package.seeall) +local XmlLib = {} --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ module(..., package.seeall) -- --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- -function newParser() +function XmlLib.newParser() XmlParser = {}; @@ -58,7 +58,7 @@ function newParser() function XmlParser:ParseXmlText(xmlText) local stack = {} - local top = newNode() + local top = XmlLib.newNode() table.insert(stack, top) local ni, c, label, xarg, empty local i, j = 1, 1 @@ -71,11 +71,11 @@ function newParser() stack[#stack]:setValue(lVal) end if empty == "/" then -- empty element tag - local lNode = newNode(label) + local lNode = XmlLib.newNode(label) self:ParseArgs(lNode, xarg) top:addChild(lNode) elseif c == "" then -- start tag - local lNode = newNode(label) + local lNode = XmlLib.newNode(label) self:ParseArgs(lNode, xarg) table.insert(stack, lNode) top = lNode @@ -121,7 +121,7 @@ function newParser() return XmlParser end -function newNode(name) +function XmlLib.newNode(name) local node = {} node.___value = nil node.___name = name @@ -167,3 +167,5 @@ function newNode(name) return node end + +return XmlLib \ No newline at end of file