QDomNamedNodeMap Class

QDomNamedNodeMap 类包含可通过名称访问的节点集合。更多

Header: #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 。QDomNamedNodeMaps 不提供任何特定的节点排序。虽然 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() 返回。

术语:在本类中,"项目 "和 "节点 "可以互换使用。

成员函数文档

QDomNamedNodeMap::QDomNamedNodeMap()

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

QDomNamedNodeMap::QDomNamedNodeMap(const QDomNamedNodeMap &namedNodeMap)

构造namedNodeMap 的副本。

[noexcept] QDomNamedNodeMap::~QDomNamedNodeMap()

销毁对象并释放其资源。

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

如果 map 中包含名为name 的节点,则返回true ;否则返回false

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

int QDomNamedNodeMap::count() const

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

bool QDomNamedNodeMap::isEmpty() const

如果 map 为空,则返回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 的节点。

函数返回删除的节点,如果 map 中不包含本地名称为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

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