# OpenLayers.Format.XML

Read and write XML. For cross-browser XML generation, use methods on an instance of the XML format class instead of on <code>document<end>. The DOM creation and traversing methods exposed here all mimic the W3C XML DOM methods. Create a new parser with the OpenLayers.Format.XML constructor.

#### Inherits from

- OpenLayers.Format

Summary

OpenLayers.Format.XML | Read and write XML.
Constructor |
OpenLayers.Format.XML | Construct an XML parser.
Functions |
destroy | Clean up.
write | Serialize a DOM node into a XML string.
createElementNS | Create a new element with namespace.
createTextNode | Create a text node.
getElementsByTagNameNS | Get a list of elements on a node given the namespace URI and local name.
getAttributeNodeNS | Get an attribute node given the namespace URI and local name.
getAttributeNS | Get an attribute value given the namespace URI and local name.
getChildValue | Get the textual value of the node if it exists, or return an optional default string.
concatChildValues | Deprecated.
isSimpleContent | Test if the given node has only simple content (i.e.
contentType | Determine the content type for a given node.
hasAttributeNS | Determine whether a node has a particular attribute matching the given name and namespace.
setAttributeNS | Adds a new attribute or changes the value of an attribute with the given namespace and name.
getChildEl | Get the first child element.
getNextEl | Get the next sibling element.
lookupNamespaceURI | Takes a prefix and returns the namespace URI associated with it on the given node if found (and null if not).
OpenLayers.Format.XML.lookupNamespaceURI | Takes a prefix and returns the namespace URI associated with it on the given node if found (and null if not).

### Constructor

### OpenLayers.Format.XML

Construct an XML parser. The parser is used to read and write XML. Reading XML from a string returns a DOM element. Writing XML from a DOM element returns a string.

#### Parameters

options | {Object} Optional object whose properties will be set on the object.

### Functions

### destroy

> destroy: function()

Clean up.

### write

> write: function( | node | )

Serialize a DOM node into a XML string.

#### Parameters

node | {DOMElement} A DOM node.

#### Returns

{String} The XML string representation of the input node.

### createElementNS

> createElementNS: function( | uri,
> | name | )

Create a new element with namespace. This node can be appended to another node with the standard node.appendChild method. For cross-browser support, this method must be used instead of document.createElementNS.

#### Parameters

uri | {String} Namespace URI for the element.
name | {String} The qualified name of the element (prefix:localname).

#### Returns

{Element} A DOM element with namespace.

### createTextNode

> createTextNode: function( | text | )

Create a text node. This node can be appended to another node with the standard node.appendChild method. For cross-browser support, this method must be used instead of document.createTextNode.

#### Parameters

text | {String} The text of the node.

#### Returns

{DOMElement} A DOM text node.

### getElementsByTagNameNS

> getElementsByTagNameNS: function( | node,
> | uri,
> | name | )

Get a list of elements on a node given the namespace URI and local name. To return all nodes in a given namespace, use ‘*’ for the name argument. To return all nodes of a given (local) name, regardless of namespace, use ‘*’ for the uri argument.

#### Parameters

node | {Element} Node on which to search for other nodes.
uri | {String} Namespace URI.
name | {String} Local name of the tag (without the prefix).

#### Returns

{NodeList} A node list or array of elements.

### getAttributeNodeNS

> getAttributeNodeNS: function( | node,
> | uri,
> | name | )

Get an attribute node given the namespace URI and local name.

#### Parameters

node | {Element} Node on which to search for attribute nodes.
uri | {String} Namespace URI.
name | {String} Local name of the attribute (without the prefix).

#### Returns

{DOMElement} An attribute node or null if none found.

### getAttributeNS

> getAttributeNS: function( | node,
> | uri,
> | name | )

Get an attribute value given the namespace URI and local name.

#### Parameters

node | {Element} Node on which to search for an attribute.
uri | {String} Namespace URI.
name | {String} Local name of the attribute (without the prefix).

#### Returns

{String} An attribute value or and empty string if none found.

### getChildValue

> getChildValue: function( | node,
> | def | )

Get the textual value of the node if it exists, or return an optional default string. Returns an empty string if no first child exists and no default value is supplied.

#### Parameters

node | {DOMElement} The element used to look for a first child value.
def | {String} Optional string to return in the event that no first child value exists.

#### Returns

{String} The value of the first child of the given node.

### concatChildValues

> concatChildValues: function( | node,
> | def | )

Deprecated. Use getChildValue instead.

Concatenate the value of all child nodes if any exist, or return an optional default string. Returns an empty string if no children exist and no default value is supplied. Not optimized for large numbers of child nodes.

#### Parameters

node | {DOMElement} The element used to look for child values.
def | {String} Optional string to return in the event that no child exist.

#### Returns

{String} The concatenated value of all child nodes of the given node.

### isSimpleContent

> isSimpleContent: function( | node | )

Test if the given node has only simple content (i.e. no child element nodes).

#### Parameters

node | {DOMElement} An element node.

#### Returns

{Boolean} The node has no child element nodes (nodes of type 1).

### contentType

> contentType: function( | node | )

Determine the content type for a given node.

#### Parameters

node | {DOMElement}

#### Returns

{Integer} One of OpenLayers.Format.XML.CONTENT_TYPE.{EMPTY,SIMPLE,COMPLEX,MIXED} if the node has no, simple, complex, or mixed content.

### hasAttributeNS

> hasAttributeNS: function( | node,
> | uri,
> | name | )

Determine whether a node has a particular attribute matching the given name and namespace.

#### Parameters

node | {Element} Node on which to search for an attribute.
uri | {String} Namespace URI.
name | {String} Local name of the attribute (without the prefix).

#### Returns

{Boolean} The node has an attribute matching the name and namespace.

### setAttributeNS

> setAttributeNS: function( | node,
> | uri,
> | name,
> | value | )

Adds a new attribute or changes the value of an attribute with the given namespace and name.

#### Parameters

node | {Element} Element node on which to set the attribute.
uri | {String} Namespace URI for the attribute.
name | {String} Qualified name (prefix:localname) for the attribute.
value | {String} Attribute value.

### getChildEl

> getChildEl: function( | node,
> | name,
> | uri | )

Get the first child element. Optionally only return the first child if it matches the given name and namespace URI.

#### Parameters

node | {DOMElement} The parent node.
name | {String} Optional node name (local) to search for.
uri | {String} Optional namespace URI to search for.

#### Returns

{DOMElement} The first child. Returns null if no element is found, if something significant besides an element is found, or if the element found does not match the optional name and uri.

### getNextEl

> getNextEl: function( | node,
> | name,
> | uri | )

Get the next sibling element. Optionally get the first sibling only if it matches the given local name and namespace URI.

#### Parameters

node | {DOMElement} The node.
name | {String} Optional local name of the sibling to search for.
uri | {String} Optional namespace URI of the sibling to search for.

#### Returns

{DOMElement} The next sibling element. Returns null if no element is found, something significant besides an element is found, or the found element does not match the optional name and uri.

### lookupNamespaceURI

> lookupNamespaceURI: function( | node,
> | prefix | )

Takes a prefix and returns the namespace URI associated with it on the given node if found (and null if not). Supplying null for the prefix will return the default namespace.

For browsers that support it, this calls the native lookupNamesapceURI function. In other browsers, this is an implementation of http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI.

For browsers that don’t support the attribute.ownerElement property, this method cannot be called on attribute nodes.

#### Parameters

node | {DOMElement} The node from which to start looking.
prefix | {String} The prefix to lookup or null to lookup the default namespace.

#### Returns

{String} The namespace URI for the given prefix. Returns null if the prefix cannot be found or the node is the wrong type.

### OpenLayers.Format.XML.lookupNamespaceURI

Takes a prefix and returns the namespace URI associated with it on the given node if found (and null if not). Supplying null for the prefix will return the default namespace.

For browsers that support it, this calls the native lookupNamesapceURI function. In other browsers, this is an implementation of http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI.

For browsers that don’t support the attribute.ownerElement property, this method cannot be called on attribute nodes.

#### Parameters

node | {DOMElement} The node from which to start looking.
prefix | {String} The prefix to lookup or null to lookup the default namespace.

#### Returns

{String} The namespace URI for the given prefix. Returns null if the prefix cannot be found or the node is the wrong type.

> destroy: function()

Clean up.

> write: function( | node | )

Serialize a DOM node into a XML string.

> createElementNS: function( | uri,
> | name | )

Create a new element with namespace.

> createTextNode: function( | text | )

Create a text node.

> getElementsByTagNameNS: function( | node,
> | uri,
> | name | )

Get a list of elements on a node given the namespace URI and local name.

> getAttributeNodeNS: function( | node,
> | uri,
> | name | )

Get an attribute node given the namespace URI and local name.

> getAttributeNS: function( | node,
> | uri,
> | name | )

Get an attribute value given the namespace URI and local name.

> getChildValue: function( | node,
> | def | )

Get the textual value of the node if it exists, or return an optional default string.

> concatChildValues: function( | node,
> | def | )

Deprecated.

> isSimpleContent: function( | node | )

Test if the given node has only simple content (i.e.

> contentType: function( | node | )

Determine the content type for a given node.

> hasAttributeNS: function( | node,
> | uri,
> | name | )

Determine whether a node has a particular attribute matching the given name and namespace.

> setAttributeNS: function( | node,
> | uri,
> | name,
> | value | )

Adds a new attribute or changes the value of an attribute with the given namespace and name.

> getChildEl: function( | node,
> | name,
> | uri | )

Get the first child element.

> getNextEl: function( | node,
> | name,
> | uri | )

Get the next sibling element.

> lookupNamespaceURI: function( | node,
> | prefix | )

Takes a prefix and returns the namespace URI associated with it on the given node if found (and null if not).
Construct an XML parser.
Base class for format reading/writing a variety of formats.
Close