# XML object

#### Availability

Flash Player 5 (became a native object in Flash Player 6, which improved performance significantly).

#### Description

Use the methods and properties of the XML object to load, parse, send, build, and manipulate XML document trees.

You must use the constructor `new XML()` to create an instance of the XML object before calling any of the methods of the XML object. See "Constructor for the XML object" later in this section.

## Method summary for the XML object

Method | Description
--- | ---
`XML.addRequestHeader()` | Adds or changes HTTP headers for `POST` operations.
`XML.appendChild()` | Appends a node to the end of the specified object's child list.
`XML.cloneNode()` | Clones the specified node and, optionally, recursively clones all children.
`XML.createElement()` | Creates a new XML element.
`XML.createTextNode()` | Creates a new XML text node.
`XML.getBytesLoaded()` | Returns the number of bytes loaded for the specified XML document.
`XML.getBytesTotal()` | Returns the size of the XML document, in bytes.
`XML.hasChildNodes()` | Returns `true` if the specified node has child nodes; otherwise, returns `false`.
`XML.insertBefore()` | Inserts a node in front of an existing node in the specified node's child list.
`XML.load()` | Loads a document (specified by the XML object) from a URL.
`XML.parseXML()` | Parses an XML document into the specified XML object tree.
`XML.removeNode()` | Removes the specified node from its parent.
`XML.send()` | Sends the specified XML object to a URL.
`XML.sendAndLoad()` | Sends the specified XML object to a URL and loads the server response into another XML object.
`XML.toString()` | Converts the specified node and any children to XML text.

## Property summary for the XML object

Property | Description
--- | ---
`XML.contentType` | Indicates the MIME type transmitted to the server.
`XML.docTypeDecl` | Sets and returns information about an XML document's `DOCTYPE` declaration.
`XML.firstChild` | References the first child in the list for the specified node.
`XML.ignoreWhite` | When set to `true`, text nodes that contain only white space are discarded during the parsing process.
`XML.lastChild` | References the last child in the list for the specified node.
`XML.loaded` | Checks if the specified XML object has loaded.
`XML.nextSibling` | References the next sibling in the parent node's child list.
`XML.nodeName` | The tag name of an XML element.
`XML.nodeType` | The type of the specified node (XML element or text node).
`XML.nodeValue` | The text of the specified node if the node is a text node.
`XML.parentNode` | References the parent node of the specified node.
`XML.previousSibling` | References the previous sibling in the parent node's child list.
`XML.status` | A numeric status code indicating the success or failure of an XML document parsing operation.
`XML.xmlDecl` | Specifies information about a document's XML declaration.

## Collections summary for the XML object

Method | Description
--- | ---
`XML.attributes` | Returns an associative array containing all of the attributes of the specified node.
`XML.childNodes` | Returns an array containing references to the child nodes of the specified node.

## Event handler summary for the XML object

Event handler | Description
--- | ---
`XML.onData` | A callback function that is invoked when XML text has been completely downloaded from the server, or when an error occurs downloading XML text from a server.
`XML.onLoad()` | A callback function for `load` and `sendAndLoad`.

## Constructor for the XML object

#### Availability

Flash Player 5.

#### Usage

    new XML([source])

#### Parameters

`source` The XML text parsed to create the new XML object.

#### Returns

Nothing.

#### Description

Constructor; creates a new XML object. You must use the constructor method to create an instance of the XML object before calling any of the XML object methods.

Note: The `createElement` and `createTextNode` methods are the "constructor" methods for creating the elements and text nodes in an XML document tree.

#### Example

Usage 1: The following example creates an new, empty XML object.

    my_xml = new XML();

Usage 2: The following example creates an XML object by parsing the XML text specified in the `source` parameter, and populates the newly created XML object with the resulting XML document tree.

    anyOtherXML = new XML("<state>California<city>san francisco</city></state>");

#### See also

`XML.createElement()`, `XML.createTextNode()`