Xml Class
Xml Class
Members
Xml ()
Default constructor that creates an empty instance.Xml (const char * name, const char * args = 0)
Creates an Xml tree with a given node as a root.Arguments
- const char * name - Name of the node that will be a root.
- const char * args - Optional arguments to the root node. If provided, they should be in this form:
arg1=\"value1\" arg2=\"value2\" …
If values do not contain spaces, escaped quotes can be omitted.
Xml (const Ptr<Xml> & xml)
Arguments
- const Ptr<Xml> & xml
int setBoolArg (const char * name, int value)
Sets a boolean as xml argument.Arguments
- const char * name - The xml argument name.
- int value - The xml argument value.
Return value
Returns 1 if the operation was a success; otherwise, 0 is returned.int setArg (const char * name, const char * value)
Sets an xml argument.Arguments
- const char * name - The xml argument name.
- const char * value - The xml argument value.
Return value
Returns 1 if the argument is set successfully; otherwise, 0.String decode (const char * arg1)
Decodes special xml characters (less-than, greater-than, ampersand, double-quote and apostrophe) and numeric character references.Arguments
- const char * arg1 - Data to decode.
Return value
Decoded string.void clearChildren ()
Clears all children of the current xml node.int getIntArg (const char * name)
Gets an integer xml argument.Arguments
- const char * name - The xml argument name.
Return value
The result.int getDoubleArrayData (out double[] dest)
Arguments
- out double[] dest
Return value
Math::dmat4 getDMat4Arg (const char * name)
Returns a value of a given dmat4 argument.
To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
Return value
Argument value.int setDoubleArrayData (double[] src)
Arguments
- double[] src
Return value
String getSubTree (const char * path = 0)
Converts an xml tree into the string.Arguments
- const char * path - Path to xml sub-tree.
Return value
The result.int getIntData ()
Gets an integer xml data.Return value
The result.int getIntArrayData (out int[] dest)
Gets an array of integers from xml data.Arguments
- out int[] dest
Return value
Returns 1 if the operation was a success; otherwise, 0 is returned.int setIntArrayData (int[] src, int radix = 10)
Sets an array of integers as xml data in a given number notation. By default, the decimal number notation is used.Arguments
- int[] src
- int radix
Return value
1 if the array is set successfully; otherwise, 0.void setArgName (int num, const char * name)
Sets the xml argument name.Arguments
- int num - The argument number.
- const char * name - The argument name.
int isArg (const char * name)
Checks if the xml has specified argument.Arguments
- const char * name - Name of xml argument.
Return value
The result.int getStringArrayData (Vector< String > & dest)
Arguments
- Vector< String > & dest
Return value
int getNumArgs ()
Returns the number of xml arguments.Return value
The result.float getFloatData ()
Returns a float interpretation of data stored in the node.Return value
Data stored in the node.int setIVec3Arg (const char * name, const Math::ivec3 & value)
Sets a value of a given ivec3 argument.Arguments
- const char * name - Name of an argument.
- const Math::ivec3 & value - Value of an argument.
Return value
Always 1.int setStringArrayData (const Vector< String > & src)
Arguments
- const Vector< String > & src
Return value
int setDoubleArrayArg (const char * name, double[] src)
Arguments
- const char * name
- double[] src
Return value
const char * getArg (const char * name)
Gets an xml argument.Arguments
- const char * name - The xml argument name.
Return value
Value of the argument, if it is found; otherwise, NULL.Math::dvec4 getDVec4Data ()
Returns a dvec4 interpretation of data stored in the node.Return value
Data stored in the node.Ptr<Xml> removeChild (const Ptr<Xml> & xml)
Removes an xml sub-tree.Arguments
- const Ptr<Xml> & xml - Xml sub-tree smart pointer.
Return value
Removed xml sub-tree.int getBoolArg (const char * name, int value)
Gets a boolean xml argument.Arguments
- const char * name - Name of a target argument.
- int value - Default value of the argument.
Return value
The result.float getFloatArg (const char * name, float value)
Returns a value of a given float argument.
To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
- float value - Default value of the argument.
Return value
Argument value.Math::dmat4 getDMat4Data ()
Returns a dmat4 matrix interpretation of data stored in the node.Return value
Data stored in the node.double getDoubleData ()
Returns a double interpretation of data stored in the node.Return value
Data stored in the node.String symbols (const char * arg1)
Replaces ampersand characters with character entity references.Arguments
- const char * arg1 - to encode.
Return value
String which contains replaced ampersand characters with character entity references.int setFloatArrayData (float[] src)
Arguments
- float[] src
Return value
int getFloatArrayData (out float[] dest)
Arguments
- out float[] dest
Return value
void clearUnusedData ()
Clears the unused nodes and arguments.double getDoubleArg (const char * name, double value)
Returns a value of a given double argument.To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
- double value - Default value of the argument.
Return value
Argument value.void setVec4Data (const Math::vec4 & data)
Sets a vec4 content for the node. This can be done only for nodes with no children.Arguments
- const Math::vec4 & data - Content to set.
void setIVec4Data (const Math::ivec4 & data)
Sets a ivec4 content for the node. This can be done only for nodes with no children.Arguments
- const Math::ivec4 & data - Content to set.
Math::vec4 getVec4Data ()
Returns a vec4 interpretation of data stored in the node.Return value
Data stored in the node.int getDoubleArrayArg (const char * name, out double[] dest)
Arguments
- const char * name
- out double[] dest
Return value
int setRawData (const char * data)
Sets a xml raw data.Arguments
- const char * data - The xml raw data.
Return value
Returns 1 if the operation was a success; otherwise, 0 is returned.int getStringArrayArg (const char * name, Vector< String > & dest)
Arguments
- const char * name
- Vector< String > & dest
Return value
int setFloatArrayArg (const char * name, float[] src)
Arguments
- const char * name
- float[] src
Return value
void setDMat4Data (const Math::dmat4 & data)
Sets a dmat4 matrix content for the node. This can be done only for nodes with no children.Arguments
- const Math::dmat4 & data - Content to set.
Math::vec4 getVec4Arg (const char * name)
Returns a value of a given vec4 argument.
To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
Return value
Argument value.Math::dvec4 getDVec4Arg (const char * name)
Returns a value of a given dvec4 argument.To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
Return value
Argument value.void setData (const char * data)
Sets a xml data.Arguments
- const char * data - The xml data.
void setBoolData (int data)
Sets a boolean as xml data.Arguments
- int data - The xml argument value.
int findArg (const char * name)
Finds a xml argument by its name.Arguments
- const char * name - Xml argument name.
Return value
Xml argument number.int setMat4Arg (const char * name, const Math::mat4 & value)
Sets a value of a given mat4 argument.Arguments
- const char * name - Name of an argument.
- const Math::mat4 & value - Value of an argument.
Return value
Always 1.Math::quat getQuatData ()
Returns a quaternion interpretation of data stored in the node.Return value
Data stored in the node.int setIVec4Arg (const char * name, const Math::ivec4 & value)
Sets a value of a given ivec4 argument.Arguments
- const char * name - Name of an argument.
- const Math::ivec4 & value - Value of an argument.
Return value
Always 1.void setDoubleData (double data)
Sets a double content for the node. This can be done only for nodes with no children.Arguments
- double data - Content to set.
Math::ivec3 getIVec3Data ()
Returns a ivec3 interpretation of data stored in the node.Return value
Data stored in the node.const char * getName ()
Returns the xml node name.Return value
The result.Math::mat4 getMat4Data ()
Returns a mat4 matrix interpretation of data stored in the node.Return value
Data stored in the node.void setArgValue (int num, const char * value)
Sets the xml argument value.Arguments
- int num - The argument number.
- const char * value - The argument value.
Math::ivec4 getIVec4Data ()
Returns a ivec4 interpretation of data stored in the node.Return value
Data stored in the node.void setFloatData (float data)
Sets a float content for the node. This can be done only for nodes with no children.Arguments
- float data - Content to set.
const char * getArgValue (int num)
Returns the xml argument value.Arguments
- int num - The argument number.
Return value
The result.void printUnusedData (const char * name)
Prints the unused nodes and arguments.Arguments
- const char * name - Name of the xml file.
Ptr<Xml> getChild (const char * name)
Returns the child of the xml tree.Arguments
- const char * name - The child number.
Return value
The result.int getIntArrayArg (const char * name, out int[] dest)
Gets an array of integers from xml argument.Arguments
- const char * name
- out int[] dest
Return value
Returns 1 if the operation was a success; otherwise, 0 is returned.int setStringArrayArg (const char * name, const Vector< String > & src)
Arguments
- const char * name
- const Vector< String > & src
Return value
void setMat4Data (const Math::mat4 & data)
Sets a mat4 matrix content for the node. This can be done only for nodes with no children.Arguments
- const Math::mat4 & data - Content to set.
void setQuatData (const Math::quat & data)
Sets a quaternion content for the node. This can be done only for nodes with no children.Arguments
- const Math::quat & data - Content to set.
const char * getChildData (const char * name)
Allows to get the data from the xml child node.Arguments
- const char * name - Name of the child node.
Return value
The value of the child node.Ptr<Xml> addChild (const Ptr<Xml> & xml)
Appends a new xml child.Arguments
- const Ptr<Xml> & xml - Xml sub-tree smart pointer.
Return value
Created xml node.int getBoolArg (const char * name)
Gets a boolean xml argument.Arguments
- const char * name - The xml argument name.
Return value
The result.int getBoolData ()
Gets a boolean xml data.Return value
The result.Math::dvec3 getDVec3Data ()
Returns a dvec3 interpretation of data stored in the node.Return value
Data stored in the node.String getFormattedSubTree (const char * path = 0)
Converts an xml tree into the formatted string.Arguments
- const char * path - Path to xml sub-tree.
Return value
The result.int setFloatArg (const char * name, float value)
Sets a value of a given float argument.Arguments
- const char * name - Name of an argument.
- float value - Value of an argument.
Return value
Always 1.int parse (const char * src)
Parses string and creates the xml tree.Arguments
- const char * src - String pointer.
Return value
Returns 1 if the operation was a success; otherwise, 0 is returned.Math::quat getQuatArg (const char * name)
Returns a value of a given quat argument.
To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
Return value
Argument value.int removeArg (const char * name)
Deletes an xml argument.Arguments
- const char * name - The xml argument name.
Return value
1 if the argument is deleted successfully; otherwise, 0.Math::ivec3 getIVec3Arg (const char * name)
Returns a value of a given ivec3 argument.
To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
Return value
Argument value.int setIntArrayArg (const char * name, int[] src, int radix = 10)
Sets an array of integers as xml argument in a given number notation. By default, the decimal number notation is used.Arguments
- const char * name
- int[] src
- int radix
Return value
1 if the array is set successfully; otherwise, 0.int findChild (const char * name)
Returns the number of the Xml node child by its name.Arguments
- const char * name - Name of the Xml node child.
Return value
The number of the Xml node child if it is exists; otherwise, -1.int setQuatArg (const char * name, const Math::quat & value)
Sets a value of a given quat argument.Arguments
- const char * name - Name of an argument.
- const Math::quat & value - Value of an argument.
Return value
Always 1.void setDVec4Data (const Math::dvec4 & data)
Sets a dvec4 content for the node. This can be done only for nodes with no children.Arguments
- const Math::dvec4 & data - Content to set.
const char * getData ()
Gets a xml data.Return value
The result.Math::vec3 getVec3Arg (const char * name)
Returns a value of a given vec3 argument.
To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
Return value
Argument value.int setIntArg (const char * name, int value, int radix = 10)
Sets an integer as xml argument in a given number notation. By default, the decimal number notation is used.Arguments
- const char * name - The xml argument name.
- int value - The xml argument value.
- int radix - Radix to use when setting a value.
Return value
1 if the value is set successfully; otherwise, 0.int setIntData (int value, int radix = 10)
Sets an integer as xml data in a given number notation. By default, the decimal number notation is used.Arguments
- int value - The xml argument value.
- int radix - Radix to use when setting a value.
Return value
1 if the value is set successfully; otherwise, 0.int load (const char * name)
Loads the xml tree from the specified file.Arguments
- const char * name - File name.
Return value
Returns 1 if the operation was a success; otherwise, 0 is returned.Ptr<Xml> addChild (const char * name, const char * args = 0)
Appends a new xml child.Arguments
- const char * name - Name of the xml node.
- const char * args - Arguments of the xml node.
Return value
Created xml node.int getFloatArrayArg (const char * name, out float[] dest)
Arguments
- const char * name
- out float[] dest
Return value
int setVec4Arg (const char * name, const Math::vec4 & value)
Sets a value of a given vec4 argument.Arguments
- const char * name - Name of an argument.
- const Math::vec4 & value - Value of an argument.
Return value
Always 1.Ptr<Xml> find (const char * path)
Finds an xml sub-tree.Arguments
- const char * path - Path to the xml sub-tree.
Return value
The result.Ptr<Xml> getParent ()
Returns the parent xml tree.Return value
int getNumChildren ()
Returns the number of xml children.Return value
The result.int setDVec4Arg (const char * name, const Math::dvec4 & value)
Sets a value of a given dvec4 argument.Arguments
- const char * name - Name of an argument.
- const Math::dvec4 & value - Value of an argument.
Return value
Always 1.Ptr<Xml> getChild (int num)
Returns the child of the xml tree.Arguments
- int num - The child number.
Return value
The result.int setDVec3Arg (const char * name, const Math::dvec3 & value)
Sets a value of a given dvec3 argument.Arguments
- const char * name - Name of an argument.
- const Math::dvec3 & value - Value of an argument.
Return value
Always 1.int setDMat4Arg (const char * name, const Math::dmat4 & value)
Sets a value of a given dmat4 argument.Arguments
- const char * name - Name of an argument.
- const Math::dmat4 & value - Value of an argument.
Return value
Always 1.void setDVec3Data (const Math::dvec3 & data)
Sets a dvec3 content for the node. This can be done only for nodes with no children.Arguments
- const Math::dvec3 & data - Content to set.
Math::mat4 getMat4Arg (const char * name)
Returns a value of a given mat4 argument.
To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
Return value
Argument value.float getFloatArg (const char * name)
Returns a value of a given float argument.
To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
Return value
Argument value.void clear ()
Clears the xml tree.int isChild (const char * name)
Checks if the xml has specified child.Arguments
- const char * name - Name of the xml child.
Return value
The result.int getIntArg (const char * name, int value)
Gets an integer xml argument.Arguments
- const char * name - Name of a target argument.
- int value - Default value of the argument.
Return value
The result.int save (const char * name, int binary = 0)
Saves the xml tree into the specified file.Arguments
- const char * name - File name.
- int binary - Binary xml format.
Return value
Returns 1 if the operation was a success; otherwise, 0 is returned.Math::dvec3 getDVec3Arg (const char * name)
Returns a value of a given dvec3 argument.To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
Return value
Argument value.int setDoubleArg (const char * name, double value)
Sets a value of a given double argument.Arguments
- const char * name - Name of an argument.
- double value - Value of an argument.
Return value
Always 1.void setIVec3Data (const Math::ivec3 & data)
Sets a ivec3 content for the node. This can be done only for nodes with no children.Arguments
- const Math::ivec3 & data - Content to set.
void copy (const Ptr<Xml> & source)
Copies all data (name, arguments, data, flags and a child hierarchy) from the source Xml node to the current one.Arguments
- const Ptr<Xml> & source - Source Xml node.
Math::ivec4 getIVec4Arg (const char * name)
Returns a value of a given ivec4 argument.
To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
Return value
Argument value.Math::vec3 getVec3Data ()
Returns a vec3 interpretation of data stored in the node.Return value
Data stored in the node.int setXmlData (const char * data)
Sets a xml xml data.Arguments
- const char * data - The xml xml data.
Return value
Returns 1 if the operation was a success; otherwise, 0 is returned.const char * getArgName (int num)
Returns the xml argument name.Arguments
- int num - The argument number.
Return value
The result.int setVec3Arg (const char * name, const Math::vec3 & value)
Sets a value of a given vec3 argument.Arguments
- const char * name - Name of an argument.
- const Math::vec3 & value - Value of an argument.
Return value
Always 1.void setName (const char * name)
Sets the xml node name.Arguments
- const char * name - Name of the xml node.
String encode (const char * arg1)
Encodes special xml characters (less-than, greater-than, ampersand, double-quote and apostrophe) to their character entity reference.Arguments
- const char * arg1 - Data to encode.
Return value
Encoded string.double getDoubleArg (const char * name)
Returns a value of a given double argument.To check, if an argument exists, use the isArg() method.
Arguments
- const char * name - Name of a target argument.
Return value
Argument value.void setVec3Data (const Math::vec3 & data)
Sets a vec3 content for the node. This can be done only for nodes with no children.Arguments
- const Math::vec3 & data - Content to set.
Last update: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)