local xml = {} function xml.filename(name) return name .. ".xml" end -- basic xml parser for mamecheat only local function xml_parse(data) local function fix_gt(str) str = str:gsub(">=", " ge ") str = str:gsub(">", " gt ") return str end data = data:gsub("(condition=%b\"\")", fix_gt) local cheat_str = data:match("(.*)") local function get_tags(str) local arr = {} while str ~= "" do local tag, attr, stop tag, attr, stop, str = str:match("<([%w!%-]+) ?(.-)(/?)[ %-]->(.*)") if not tag then return arr end if tag:sub(0, 3) ~= "!--" then local block = {} if stop ~= "/" then local nest nest, str = str:match("(.-)(.*)") local children = get_tags(nest) if not next(children) then nest = nest:gsub("