Jump to content

[Solved]help with xml


Sora

Recommended Posts

Posted (edited)

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
Guest Guest4401
Posted

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 
) 

Posted (edited)
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
Guest Guest4401
Posted

You're welcome.

Posted

Would be better if you make the xml that way:

<serial> 
    <player name = "Anderl" serial = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" /> 
    <player name = "Sora" serial = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" /> 
</serial> 

Posted
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

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...