- Qt 6.11
- Qt XML
- C++ Classes
- QDomNamedNodeMap
- Qt 6.11.2 Reference Documentation

# QDomNamedNodeMap Class

The QDomNamedNodeMap class contains a collection of nodes that can be accessed by name. More...

Header: | `#include <QDomNamedNodeMap>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Xml)` `target_link_libraries(mytarget PRIVATE Qt6::Xml)`
qmake: | `QT += xml`

- List of all members, including inherited members
- QDomNamedNodeMap is part of XML Classes.

Note: All functions in this class are reentrant.

## Public Functions

| QDomNamedNodeMap()
| QDomNamedNodeMap(const QDomNamedNodeMap &namedNodeMap)
| ~QDomNamedNodeMap()
bool | contains(const QString &name) const
int | count() const
bool | isEmpty() const
QDomNode | item(int index) const
int | length() const
QDomNode | namedItem(const QString &name) const
QDomNode | namedItemNS(const QString &nsURI, const QString &localName) const
QDomNode | removeNamedItem(const QString &name)
QDomNode | removeNamedItemNS(const QString &nsURI, const QString &localName)
QDomNode | setNamedItem(const QDomNode &newNode)
QDomNode | setNamedItemNS(const QDomNode &newNode)
int | size() const
bool | operator!=(const QDomNamedNodeMap &other) const
QDomNamedNodeMap & | operator=(const QDomNamedNodeMap &other)
bool | operator==(const QDomNamedNodeMap &other) const

## Detailed Description

Note that QDomNamedNodeMap does not inherit from QDomNodeList. QDomNamedNodeMaps do not provide any specific node ordering. Although nodes in a QDomNamedNodeMap may be accessed by an ordinal index, this is simply to allow a convenient enumeration of the contents of a QDomNamedNodeMap, and does not imply that the DOM specifies an ordering of the nodes.

The QDomNamedNodeMap is used in three places:

1. QDomDocumentType::entities() returns a map of all entities described in the DTD.
2. QDomDocumentType::notations() returns a map of all notations described in the DTD.
3. QDomNode::attributes() returns a map of all attributes of an element.

Items in the map are identified by the name which QDomNode::name() returns. Nodes are retrieved using namedItem(), namedItemNS() or item(). New nodes are inserted with setNamedItem() or setNamedItemNS() and removed with removeNamedItem() or removeNamedItemNS(). Use contains() to see if an item with the given name is in the named node map. The number of items is returned by length().

Terminology: in this class we use "item" and "node" interchangeably.

## Member Function Documentation

### QDomNamedNodeMap::QDomNamedNodeMap()

Constructs an empty named node map.

### QDomNamedNodeMap::QDomNamedNodeMap(const QDomNamedNodeMap &namedNodeMap)

Constructs a copy of namedNodeMap.

### `[noexcept]` QDomNamedNodeMap::~QDomNamedNodeMap()

Destroys the object and frees its resources.

### bool QDomNamedNodeMap::contains(const QString &name) const

Returns `true` if the map contains a node called name; otherwise returns `false`.

Note: This function does not take the presence of namespaces into account. Use namedItemNS() to test whether the map contains a node with a specific namespace URI and name.

### int QDomNamedNodeMap::count() const

This function is provided for Qt API consistency. It is equivalent to length().

### bool QDomNamedNodeMap::isEmpty() const

Returns `true` if the map is empty; otherwise returns `false`. This function is provided for Qt API consistency.

### QDomNode QDomNamedNodeMap::item(int index) const

Retrieves the node at position index.

This can be used to iterate over the map. Note that the nodes in the map are ordered arbitrarily.

See also length().

### int QDomNamedNodeMap::length() const

Returns the number of nodes in the map.

See also item().

### QDomNode QDomNamedNodeMap::namedItem(const QString &name) const

Returns the node called name.

If the named node map does not contain such a node, a null node is returned. A node's name is the name returned by QDomNode::nodeName().

See also setNamedItem() and namedItemNS().

### QDomNode QDomNamedNodeMap::namedItemNS(const QString &nsURI, const QString &localName) const

Returns the node associated with the local name localName and the namespace URI nsURI.

If the map does not contain such a node, a null node is returned.

See also setNamedItemNS() and namedItem().

### QDomNode QDomNamedNodeMap::removeNamedItem(const QString &name)

Removes the node called name from the map.

The function returns the removed node or a null node if the map did not contain a node called name.

See also setNamedItem(), namedItem(), and removeNamedItemNS().

### QDomNode QDomNamedNodeMap::removeNamedItemNS(const QString &nsURI, const QString &localName)

Removes the node with the local name localName and the namespace URI nsURI from the map.

The function returns the removed node or a null node if the map did not contain a node with the local name localName and the namespace URI nsURI.

See also setNamedItemNS(), namedItemNS(), and removeNamedItem().

### QDomNode QDomNamedNodeMap::setNamedItem(const QDomNode &newNode)

Inserts the node newNode into the named node map. The name used by the map is the node name of newNode as returned by QDomNode::nodeName().

If the new node replaces an existing node, i.e. the map contains a node with the same name, the replaced node is returned.

See also namedItem(), removeNamedItem(), and setNamedItemNS().

### QDomNode QDomNamedNodeMap::setNamedItemNS(const QDomNode &newNode)

Inserts the node newNode in the map. If a node with the same namespace URI and the same local name already exists in the map, it is replaced by newNode. If the new node replaces an existing node, the replaced node is returned.

See also namedItemNS(), removeNamedItemNS(), and setNamedItem().

### int QDomNamedNodeMap::size() const

This function is provided for Qt API consistency. It is equivalent to length().

### bool QDomNamedNodeMap::operator!=(const QDomNamedNodeMap &other) const

Returns `true` if other and this named node map are not equal; otherwise returns `false`.

### QDomNamedNodeMap &QDomNamedNodeMap::operator=(const QDomNamedNodeMap &other)

Assigns other to this named node map.

### bool QDomNamedNodeMap::operator==(const QDomNamedNodeMap &other) const

Returns `true` if other and this named node map are equal; otherwise returns `false`.