QDomAttr 类

QDomAttr 类代表 QDomElement 的一个属性。 更多...

头文件 #include <QDomAttr>
CMakefind_package(Qt6 REQUIRED COMPONENTS Xml)
target_link_libraries(mytarget PRIVATE Qt6::Xml)
qmakeQT += xml
继承 QDomNode

注意:本类的所有函数都是 重入

公共函数

QDomAttr()
QDomAttr(const QDomAttr &x)
QStringname() const
QDomNode::NodeTypenodeType() const
QDomElementownerElement() const
voidsetValue(const QString &v)
boolspecified() const
QStringvalue() const
QDomAttr &operator=(const QDomAttr &x)

详细描述

例如,以下 XML 片段生成一个没有子元素但有两个属性的元素

<link href="http://qt-project.org" color="red" />

您可以使用以下代码访问元素的属性

QDomElement e;
//...
QDomAttr a = e.attributeNode("href");
cout << qPrintable(a.value()) << '\n';   // prints "http://qt-project.org"
a.setValue("http://qt-project.org/doc"); // change the node's attribute
QDomAttr a2 = e.attributeNode("href");
cout << qPrintable(a2.value()) << '\n';  // prints "http://qt-project.org/doc"

此示例还显示,更改从元素接收到的属性会更改元素的属性。如果您不希望更改元素属性的值,必须使用 cloneNode() 获取属性的独立副本。

QDomAttr 可以返回属性的 name() 和 value()。属性的值使用 setValue() 设置。如果 specified() 返回 true,则值已通过 setValue() 设置。通过 ownerElement() 返回此属性附加的节点(如果有的话)。

有关文档对象模型的更多信息,请参阅 http://www.w3.org/TR/REC-DOM-Level-1/http://www.w3.org/TR/DOM-Level-2-Core/。有关 DOM 实现的更通用介绍,请参阅 QDomDocument 文档。

成员函数文档

QDomAttr::QDomAttr()

构建一个空属性。

QDomAttr::QDomAttr(const QDomAttr &x)

构建一个 x 的副本。

复制的数据是共享的(浅拷贝):修改一个节点也会同时改变另一个。如果您想进行深拷贝,请使用 cloneNode()。

QString QDomAttr::name() const

返回属性的名称。

QDomNode::NodeType QDomAttr::nodeType() const

返回 属性节点

QDomElement QDomAttr::ownerElement() const

返回此属性附加到的元素节点,或者如果是此属性未附加到任何元素,则返回一个 空节点

void(XmlAttrType) QDomAttr::setValue(const (QString) &value)

将属性值设置为 value

另请参阅value

bool QDomAttr::specified() const

如果属性已被用户通过 setValue 设置,则返回 true。如果没有指定或设置值,则返回 false

另请参阅setValue

QString QDomAttr::value() const

返回属性的值,或者如果没有指定属性,则返回空字符串。

另请参阅specified() 和 setValue

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

other 分配给此 DOM 属性。

复制的数据是共享的(浅拷贝):修改一个节点也会同时改变另一个。如果您想进行深拷贝,请使用 cloneNode()。

© 2024 Qt 公司。此处包含的文档贡献者是各自所有者的版权。此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可版本 1.3 许可的。Qt 和相关标志是 Qt 公司在芬兰和/或其他国家/地区的商标。所有其他商标均为各自所有者的财产。