Nostradamus 6 Postado Setembro 30, 2007 Share Postado Setembro 30, 2007 (editado) De princípio esse XML Parser fora criado para a BlackOnix para ler certos atribuitos. Mas, como o revdbsys está chegando, achamos que não iríamos precisar mais. Créditos: Nostradamus & Jovial function fileToString(dir) local line local string = '' for (line in io.lines(dir)) do string = string..line..'\n' end return string end function ParseArgs(s) local arg = {} string.gsub(s, "(%w+)=([\"'])(.-)%2", function (w, _, a) arg[w] = a end) return arg end function XMLReader(s) local stack = {} local top = {} table.insert(stack, top) local ni,c,label,xarg, empty local i, j = 1, 1 while (true) do ni,j,c,label,xarg, empty = string.find(s, "<(%/?)(%w+)(.-)(%/?)>", j) if (not ni) then break end local text = string.sub(s, i, ni-1) if (not string.find(text, "^%s*$")) then table.insert(top, text) end if (empty == "/") then table.insert(top, {label=label, xarg=ParseArgs(xarg), empty=1}) elseif (c == "") then top = {label=label, xarg=ParseArgs(xarg)} table.insert(stack, top) else local toclose = table.remove(stack) top = stack[#stack] if (#stack < 1) then error("nothing to close with "..label) end if (toclose.label ~= label) then error("trying to close "..toclose.label.." with "..label) end table.insert(top, toclose) end i = j+1 end local text = string.sub(s, i) if (not string.find(text, "^%s*$")) then table.insert(stack[stack.n], text) end if (#stack > 1) then error("unclosed "..stack[stack.n].label) end return stack[1] end Detalhes: o código foi desenvolvido obedecendo a documentação de estruturação padrão da BlackOnix desenvolvido por Nostradamus. E sim, fora baseado num exemplo do LUA-Users, eu mesmo me encarreguei de atualizar no WIKI de lá, mais tarde irei atualizar novamente, devido ao fato de esse script aqui postado, ter a função fileToString. Editado Outubro 5, 2007 por Nostradamus Link para o comentário https://xtibia.com/forum/topic/64350-lua-xml-parser/ Compartilhar em outros sites More sharing options...
upking 14 Postado Setembro 30, 2007 Share Postado Setembro 30, 2007 nostra sera q da pra da uma explicasão e um exemplo de pra q isso serve? nao entendi bulufas Link para o comentário https://xtibia.com/forum/topic/64350-lua-xml-parser/#findComment-393652 Compartilhar em outros sites More sharing options...
soulblaster 0 Postado Outubro 4, 2007 Share Postado Outubro 4, 2007 (editado) Hiho! nostradamus, sem querer ser chato, nem acusando, nem nada disso, mas esse script foi feito por voces do zero mesmo? acabei de entrar em um site aqui, e tinha esse code, identico, só mudava nos parenteses. Até mesmo o nome das strings tavam iguais. pode ser que voce postou lá, nao sei. link de prova: http://lua-users.org/wiki/LuaXmlaguardando resposta! --edited under, se forem baseados um no outro, entao okay mas mesmo assim deveria ter add (no minimo) os creditos do site é estranho um ser praticamente igual ao outro ;o --edited nostradamus, agora sim *-* cya ^^ Editado Outubro 6, 2007 por soulblaster Link para o comentário https://xtibia.com/forum/topic/64350-lua-xml-parser/#findComment-396852 Compartilhar em outros sites More sharing options...
u n d e r 110 Postado Outubro 5, 2007 Share Postado Outubro 5, 2007 Soul, Eu verifiquei e os códigos não são iguais. Possivelmente, um e outro são baseados, porém é da autoria de Nostradamus. (este tópico) Link para o comentário https://xtibia.com/forum/topic/64350-lua-xml-parser/#findComment-397266 Compartilhar em outros sites More sharing options...
CarlosPain 9 Postado Outubro 6, 2007 Share Postado Outubro 6, 2007 Mas mesmo assim.. ripping não é uma coisa legal. Até mesmo para um cara de 22 anos como o nostradamus, um usuario experiente do forum, que sabe "muita coisa" de programação. Posso estar errado, não entendo muito dessas coisas, mas eu sei ler, e os codigos estão parecidos pra caramba.. Se o Nostradamus usou o codigo citado pelo soublaster, ele deveria ao menos dar os creditos. Abraços. Pain Link para o comentário https://xtibia.com/forum/topic/64350-lua-xml-parser/#findComment-398158 Compartilhar em outros sites More sharing options...
Nostradamus 6 Postado Outubro 6, 2007 Autor Share Postado Outubro 6, 2007 @FrozenMapper Leia o post até o final e verás... Link para o comentário https://xtibia.com/forum/topic/64350-lua-xml-parser/#findComment-398274 Compartilhar em outros sites More sharing options...
Posts Recomendados