本页内容

QDomNamedNodeMap Class

QDomNamedNodeMap 类包含一组可通过名称访问的节点。更多内容...

头文件: #include <QDomNamedNodeMap>
CMake: find_package(Qt6 REQUIRED COMPONENTS Xml)
target_link_libraries(mytarget PRIVATE Qt6::Xml)
qmake: QT += xml

注意:该类中的所有函数均为可重入函数。

公共函数

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

详细说明

请注意,QDomNamedNodeMap 并非从QDomNodeList 继承而来。QDomNamedNodeMap 不提供任何特定的节点排序。 虽然可以通过序数索引访问 QDomNamedNodeMap 中的节点,但这仅仅是为了方便枚举 QDomNamedNodeMap 的内容,并不意味着 DOM 指定了节点的顺序。

QDomNamedNodeMap 在以下三个地方被使用:

  1. QDomDocumentType::entities() 返回 DTD 中描述的所有实体的映射。
  2. QDomDocumentType::notations() 返回 DTD 中描述的所有符号的映射。
  3. QDomNode::attributes() 返回一个包含元素所有属性的映射。

映射中的项目通过 QDomNode::name() 返回的名称进行标识。节点可通过namedItem()、namedItemNS() 或item() 进行检索。 使用setNamedItem()或setNamedItemNS()插入新节点,使用removeNamedItem()或removeNamedItemNS()移除节点。使用contains()检查指定名称的项是否存在于该节点的映射中。length()返回项的数量。

术语说明:在本类中,“item”和“node”可互换使用。

成员函数文档

QDomNamedNodeMap::QDomNamedNodeMap()

构建一个空的命名节点映射。

QDomNamedNodeMap::QDomNamedNodeMap(const QDomNamedNodeMap &namedNodeMap)

创建namedNodeMap 的副本。

[noexcept] QDomNamedNodeMap::~QDomNamedNodeMap()

销毁该对象并释放其资源。

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

如果地图中包含一个名为name 的节点,则返回true ;否则返回false 。

注意:此函数不考虑命名空间的存在。请使用namedItemNS() 来检测映射中是否包含具有特定命名空间 URI 和名称的节点。

int QDomNamedNodeMap::count() const

提供此函数是为了保持 Qt API 的一致性。它等同于length()。

bool QDomNamedNodeMap::isEmpty() const

如果映射为空,则返回 `true `;否则返回 `false`。提供此函数是为了保持 Qt API 的一致性。

QDomNode QDomNamedNodeMap::item(int index) const

获取位于位置index 处的节点。

可用于遍历该映射。请注意,映射中的节点顺序是随机的。

另请参阅 length()。

int QDomNamedNodeMap::length() const

返回映射中的节点数量。

另请参阅 item()。

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

返回名为name 的节点。

如果命名节点映射中不包含此类节点,则返回null node 。节点的名称即为QDomNode::nodeName()返回的名称。

另请参阅 setNamedItem() 和namedItemNS()。

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

返回与本地名称localName 以及命名空间 URInsURI 关联的节点。

如果映射中不包含此类节点,则返回一个null node 。

另请参阅 setNamedItemNS() 和namedItem()。

QDomNode QDomNamedNodeMap::removeNamedItem(const QString &name)

从映射中移除名为name 的节点。

该函数返回被移除的节点;若映射中不存在名为name 的节点,则返回null node 。

另请参阅 setNamedItem()、namedItem() 和removeNamedItemNS()。

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

从映射中移除本地名为localName 、命名空间 URI 为nsURI 的节点。

如果映射中不包含本地名为localName 且命名空间 URI 为nsURI 的节点,则该函数返回被移除的节点或一个null node 。

另请参阅 setNamedItemNS()、namedItemNS() 和removeNamedItem()。

QDomNode QDomNamedNodeMap::setNamedItem(const QDomNode &newNode)

将节点newNode 插入到指定名称的节点映射中。该映射使用的名称是QDomNode::nodeName() 返回的newNode 的节点名称。

如果新节点替换了现有节点(即映射中已存在同名节点),则返回被替换的节点。

另请参阅 namedItem()、removeNamedItem()、以及setNamedItemNS() 函数。

QDomNode QDomNamedNodeMap::setNamedItemNS(const QDomNode &newNode)

将节点newNode 插入到映射中。如果映射中已经存在一个具有相同命名空间 URI 和相同本地名称的节点,则将其替换为newNode 。如果新节点替换了现有节点,则返回被替换的节点。

另请参阅 namedItemNS()、removeNamedItemNS()、以及setNamedItem()。

int QDomNamedNodeMap::size() const

提供此函数是为了保持 Qt API 的一致性。它与 `length()` 功能等同。

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

如果 `other ` 与该命名节点映射不相同,则返回 `true `;否则返回 `false`。

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

将other 分配给此命名节点映射。

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

如果 `other ` 与该命名节点映射相等,则返回 `true `;否则返回 `false`。

© 2026 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.