<?xml version="1.0" encoding="UTF-8" ?> <class name="XMLParser" inherits="RefCounted" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <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" /> <description> Gets the number of attributes in the current element. </description> </method> <method name="get_attribute_name" qualifiers="const"> <return type="String" /> <param index="0" name="idx" type="int" /> <description> Gets the name of the attribute specified by the [param idx] index. </description> </method> <method name="get_attribute_value" qualifiers="const"> <return type="String" /> <param index="0" name="idx" type="int" /> <description> Gets the value of the attribute specified by the [param idx] index. </description> </method> <method name="get_current_line" qualifiers="const"> <return type="int" /> <description> Gets the current line in the parsed file, counting from 0. </description> </method> <method name="get_named_attribute_value" qualifiers="const"> <return type="String" /> <param index="0" name="name" type="String" /> <description> Gets the value of a certain attribute of the current element by [param 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" /> <param index="0" name="name" type="String" /> <description> Gets the value of a certain attribute of the current element by [param 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" /> <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" /> <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" /> <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" /> <description> Gets the type of the current node. Compare with [enum NodeType] constants. </description> </method> <method name="has_attribute" qualifiers="const"> <return type="bool" /> <param index="0" name="name" type="String" /> <description> Check whether the current element has a certain attribute. </description> </method> <method name="is_empty" qualifiers="const"> <return type="bool" /> <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" /> <param index="0" name="file" type="String" /> <description> Opens an XML [param file] for parsing. This returns an error code. </description> </method> <method name="open_buffer"> <return type="int" enum="Error" /> <param index="0" name="buffer" type="PackedByteArray" /> <description> Opens an XML raw [param buffer] for parsing. This returns an error code. </description> </method> <method name="read"> <return type="int" enum="Error" /> <description> Reads the next node of the file. This returns an error code. </description> </method> <method name="seek"> <return type="int" enum="Error" /> <param index="0" name="position" type="int" /> <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" /> <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>