Jump to content

[Solved]help with xml


Sora

Recommended Posts

hello guys ^^ , i want to make xml child and another xml child under each other

but it's not works

  
addEventHandler("onPlayerJoin",getRootElement(), 
function () 
local serial = getPlayerSerial(source) 
local name = getPlayerName(source) 
local rNode = xmlCreateFile("serials.xml"," Serials") 
xmlNodeSetValue (xmlCreateChild ( rNode, "Name"), ""..name.."" ) 
xmlNodeSetValue (xmlCreateChild ( rNode, "Serial"), ""..serial.."" ) 
xmlSaveFile(rNode) 
end) 

it's would be :

< Serials> 
    <Name>|S.s|SoRa</Name> 
    <Serial>XXXXXXXXXXXXXXXXXXXXXXXSSSS</Serial> 
</ Serials> 

and if another one joined it's will change(not create) the child

< Serials> 
    <Name>Player</Name> 
    <Serial>XXXXXXXXXXXXXXXXXXXXXXXZZZZ</Serial> 
</ Serials> 

i wants it to be like this

< Serials> 
    <Name>|S.s|SoRa</Name> 
    <Serial>XXXXXXXXXXXXXXXXXXXXXXXSSSS</Serial> 
    <Name>Player</Name> 
    <Serial>XXXXXXXXXXXXXXXXXXXXXXXZZZZ</Serial> 
</ Serials> 

Edited by Guest
Link to comment
Guest Guest4401

It is because you are creating the file everytime. You must check if it already exists with xmlLoadFile.

addEventHandler("onPlayerJoin",root, 
    function () 
        local serial = getPlayerSerial(source) 
        local name = getPlayerName(source) 
        local rNode = xmlLoadFile("serials.xml") or xmlCreateFile("serials.xml"," Serials") 
        xmlNodeSetValue (xmlCreateChild ( rNode, "Name"), ""..name.."" ) 
        xmlNodeSetValue (xmlCreateChild ( rNode, "Serial"), ""..serial.."" ) 
        xmlSaveFile(rNode) 
        xmlUnloadFile(rNode) 
    end 
) 

Link to comment
It is because you are creating the file everytime. You must check if it already exists with xmlLoadFile.
addEventHandler("onPlayerJoin",root, 
    function () 
        local serial = getPlayerSerial(source) 
        local name = getPlayerName(source) 
        local rNode = xmlLoadFile("serials.xml") or xmlCreateFile("serials.xml"," Serials") 
        xmlNodeSetValue (xmlCreateChild ( rNode, "Name"), ""..name.."" ) 
        xmlNodeSetValue (xmlCreateChild ( rNode, "Serial"), ""..serial.."" ) 
        xmlSaveFile(rNode) 
        xmlUnloadFile(rNode) 
    end 
) 

it's works

thank you alot karthik ^^, i just started with xml today and now i love it ::wink:

Edited by Guest
Link to comment
Would be better if you make the xml that way:
<serial> 
    <player name = "Anderl" serial = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" /> 
    <player name = "Sora" serial = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" /> 
</serial> 

  
addEventHandler("onPlayerJoin",root, 
    function () 
        local serial = getPlayerSerial(source) 
        local name = getPlayerName(source) 
        local rNode = xmlLoadFile("serials.xml") or xmlCreateFile("serials.xml"," Serials") 
local node = xmlCreateChild ( rNode, "Player") 
xmlNodeSetAttribute(node, "Name",""..name.."") 
xmlNodeSetAttribute(node, "Serial",""..serial.."") 
        xmlSaveFile(rNode) 
        xmlUnloadFile(rNode) 
    end 
) 

:D

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...