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

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.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.