XmlCreateFile: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(fixed example)
 
(16 intermediate revisions by 8 users not shown)
Line 2: Line 2:
{{Server client function}}
{{Server client function}}
This function creates a new XML document, which can later be saved to a file by using [[xmlSaveFile]]. This function will overwrite the file specified if it already exists.
This function creates a new XML document, which can later be saved to a file by using [[xmlSaveFile]]. This function will overwrite the file specified if it already exists.
 
{{Note|To prevent memory leaks, ensure each call to [[xmlCreateFile]] has a matching call to [[xmlUnloadFile]]}}
{{Tip|If you do not want to share the content of the created file with other servers, prepend the file path with @ (See [[filepath]] for more information)}}
==Syntax==  
==Syntax==  
<section name="Server" class="server" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
xmlnode xmlCreateFile ( string filePath, string rootNodeName )
xmlnode xmlCreateFile ( string filePath, string rootNodeName )
</syntaxhighlight>  
</syntaxhighlight>  
 
{{OOP||[[Xml|XML]]}}
===Required Arguments===
*'''filePath:''' The [[filepath]] of the file in the following format: '''":resourceName/path"'''. 'resourceName' is the name of the resource the file will be in, and 'path' is the path from the root directory of the resource to the file.
:For example, if you want to create a file named 'new.xml' in the resource 'ctf', it can be created from another resource this way: ''xmlCreateFile(":ctf/new.xml", "newroot")''.
:If the file is in the current resource, only the file path is necessary, e.g. ''xmlCreateFile("new.xml", "newroot")''.
:Note that if a different resource than default is being accessed, the caller resource needs access to general.ModifyOtherObjects in the [[ACL]].
*'''rootNodeName:''' the name of the root node in the XML document.
 
</section>
 
<section name="Client" class="client" show="true">
<syntaxhighlight lang="lua">
xmlnode xmlCreateFile ( string filePath, string rootNodeName [, string accessType = "public" ]) )
</syntaxhighlight>
 
===Required Arguments===  
===Required Arguments===  
*'''filePath:''' The [[filepath]] of the file in the following format: '''":resourceName/path"'''. 'resourceName' is the name of the resource the file will be in, and 'path' is the path from the root directory of the resource to the file.
*'''filePath:''' The [[filepath]] of the file in the following format: '''":resourceName/path"'''. 'resourceName' is the name of the resource the file will be in, and 'path' is the path from the root directory of the resource to the file.
Line 29: Line 15:
:Note that if a different resource than default is being accessed, the caller resource needs access to general.ModifyOtherObjects in the [[ACL]].
:Note that if a different resource than default is being accessed, the caller resource needs access to general.ModifyOtherObjects in the [[ACL]].
*'''rootNodeName:''' the name of the root node in the XML document.
*'''rootNodeName:''' the name of the root node in the XML document.
{{New feature|3.0110|1.1|
===Optional Arguments===
*'''accessType :''' This setting determines which servers will be able to access the file:
** "public" will allow full access for all servers
** "private" will restrict access to the server that created the file.
}}
</section>


===Returns===
===Returns===
Line 42: Line 20:


==Example==
==Example==
<section name="Client" class="client" show="true">
This example allows a player to use the command 'createfile' to create an .xml file.
This example allows a player to use the command 'createfile' to create an .xml file.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
-- Creates a file named "new.xml" with root node "newroot" and childnode "newchild".
-- Creates a file named "new.xml" with root node "newroot" and childnode "newchild".
function createFileHandler()
function createFileHandler()
local RootNode = xmlCreateFile("new.xml"," newroot")
  local rootNode = xmlCreateFile("new.xml","newroot")
local NewNode = xmlCreateChild(RootNode, "newchild")
  local childNode = xmlCreateChild(rootNode, "newchild")
xmlSaveFile(RootNode)
  xmlSaveFile(rootNode)
  xmlUnloadFile(rootNode)
end
end


addCommandHandler("createfile", createFileHandler)
addCommandHandler("createfile", createFileHandler)
</syntaxhighlight>
</syntaxhighlight>
</section>


==See Also==
==See Also==
{{XML_functions}}
{{XML_functions}}
[[ru:xmlCreateFile]]

Latest revision as of 15:53, 27 March 2018

This function creates a new XML document, which can later be saved to a file by using xmlSaveFile. This function will overwrite the file specified if it already exists.

[[{{{image}}}|link=|]] Note: To prevent memory leaks, ensure each call to xmlCreateFile has a matching call to xmlUnloadFile
[[{{{image}}}|link=|]] Tip: If you do not want to share the content of the created file with other servers, prepend the file path with @ (See filepath for more information)

Syntax

xmlnode xmlCreateFile ( string filePath, string rootNodeName )

OOP Syntax Help! I don't understand this!

Method: XML(...)


Required Arguments

  • filePath: The filepath of the file in the following format: ":resourceName/path". 'resourceName' is the name of the resource the file will be in, and 'path' is the path from the root directory of the resource to the file.
For example, if you want to create a file named 'new.xml' in the resource 'ctf', it can be created from another resource this way: xmlCreateFile(":ctf/new.xml", "newroot").
If the file is in the current resource, only the file path is necessary, e.g. xmlCreateFile("new.xml", "newroot").
Note that if a different resource than default is being accessed, the caller resource needs access to general.ModifyOtherObjects in the ACL.
  • rootNodeName: the name of the root node in the XML document.

Returns

Returns the root xmlnode object of the new XML file if successful, or false otherwise.

Example

This example allows a player to use the command 'createfile' to create an .xml file.

-- Creates a file named "new.xml" with root node "newroot" and childnode "newchild".
function createFileHandler()
   local rootNode = xmlCreateFile("new.xml","newroot")
   local childNode = xmlCreateChild(rootNode, "newchild")
   xmlSaveFile(rootNode)
   xmlUnloadFile(rootNode)
end

addCommandHandler("createfile", createFileHandler)

See Also