-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathimport_xml.lua
More file actions
39 lines (29 loc) · 738 Bytes
/
import_xml.lua
File metadata and controls
39 lines (29 loc) · 738 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
require("xml")
importer.import_xml_item=function(self, box, XML)
local tok
local item={}
tok=XML:next()
while tok ~= nil
do
if tok.type=="name" then item.name=XML:next().data
elseif tok.type=="value" then item.value=XML:next().data
elseif tok.type=="notes" then item.notes=XML:next().data
elseif tok.type=="type" then item.type=XML:next().data
elseif tok.type=="updated" then item.updated=XML:next().data
elseif tok.type=="/item" then break
end
tok=XML:next()
end
box:add_item(item)
self.items_imported=self.items_imported + 1
end
importer.import_xml=function(self, box, doc)
local XML, tok
XML=xml.XML(doc)
tok=XML:next()
while tok ~= nil
do
if tok.type=="item" then self:import_xml_item(box, XML) end
tok=XML:next()
end
end