<?xml version="1.0" encoding="UTF-8" ?> <class name="XMLParser" inherits="Reference" version="4.0"> <brief_description> Low-level class for creating parsers for [url=https://en.wikipedia.org/wiki/XML]XML[/url] files. </brief_description> <description> This class can serve as base to make custom XML parsers. Since XML is a very flexible standard, this interface is low-level so it can be applied to any possible schema. </description> <tutorials> </tutorials> <methods> <method name="get_attribute_count" qualifiers="const"> <return type="int"> </return> <description> Gets the amount of attributes in the current element. </description> </method> <method name="get_attribute_name" qualifiers="const"> <return type="String"> </return> <argument index="0" name="idx" type="int"> </argument> <description> Gets the name of the attribute specified by the index in [code]idx[/code] argument. </description> </method> <method name="get_attribute_value" qualifiers="const"> <return type="String"> </return> <argument index="0" name="idx" type="int"> </argument> <description> Gets the value of the attribute specified by the index in [code]idx[/code] argument. </description> </method> <method name="get_current_line" qualifiers="const"> <return type="int"> </return> <description> Gets the current line in the parsed file (currently not implemented). </description> </method> <method name="get_named_attribute_value" qualifiers="const"> <return type="String"> </return> <argument index="0" name="name" type="String"> </argument> <description> Gets the value of a certain attribute of the current element by name. This will raise an error if the element has no such attribute. </description> </method> <method name="get_named_attribute_value_safe" qualifiers="const"> <return type="String"> </return> <argument index="0" name="name" type="String"> </argument> <description> Gets the value of a certain attribute of the current element by name. This will return an empty [String] if the attribute is not found. </description> </method> <method name="get_node_data" qualifiers="const"> <return type="String"> </return> <description> Gets the contents of a text node. This will raise an error in any other type of node. </description> </method> <method name="get_node_name" qualifiers="const"> <return type="String"> </return> <description> Gets the name of the current element node. This will raise an error if the current node type is neither [constant NODE_ELEMENT] nor [constant NODE_ELEMENT_END]. </description> </method> <method name="get_node_offset" qualifiers="const"> <return type="int"> </return> <description> Gets the byte offset of the current node since the beginning of the file or buffer. </description> </method> <method name="get_node_type"> <return type="int" enum="XMLParser.NodeType"> </return> <description> Gets the type of the current node. Compare with [enum NodeType] constants. </description> </method> <method name="has_attribute" qualifiers="const"> <return type="bool"> </return> <argument index="0" name="name" type="String"> </argument> <description> Check whether the current element has a certain attribute. </description> </method> <method name="is_empty" qualifiers="const"> <return type="bool"> </return> <description> Check whether the current element is empty (this only works for completely empty tags, e.g. [code]<element \>[/code]). </description> </method> <method name="open"> <return type="int" enum="Error"> </return> <argument index="0" name="file" type="String"> </argument> <description> Opens an XML file for parsing. This returns an error code. </description> </method> <method name="open_buffer"> <return type="int" enum="Error"> </return> <argument index="0" name="buffer" type="PackedByteArray"> </argument> <description> Opens an XML raw buffer for parsing. This returns an error code. </description> </method> <method name="read"> <return type="int" enum="Error"> </return> <description> Reads the next node of the file. This returns an error code. </description> </method> <method name="seek"> <return type="int" enum="Error"> </return> <argument index="0" name="position" type="int"> </argument> <description> Moves the buffer cursor to a certain offset (since the beginning) and read the next node there. This returns an error code. </description> </method> <method name="skip_section"> <return type="void"> </return> <description> Skips the current section. If the node contains other elements, they will be ignored and the cursor will go to the closing of the current element. </description> </method> </methods> <constants> <constant name="NODE_NONE" value="0" enum="NodeType"> There's no node (no file or buffer opened). </constant> <constant name="NODE_ELEMENT" value="1" enum="NodeType"> Element (tag). </constant> <constant name="NODE_ELEMENT_END" value="2" enum="NodeType"> End of element. </constant> <constant name="NODE_TEXT" value="3" enum="NodeType"> Text node. </constant> <constant name="NODE_COMMENT" value="4" enum="NodeType"> Comment node. </constant> <constant name="NODE_CDATA" value="5" enum="NodeType"> CDATA content. </constant> <constant name="NODE_UNKNOWN" value="6" enum="NodeType"> Unknown node. </constant> </constants> </class>