QDomAttr Class

The QDomAttr class represents one attribute of a QDomElement. More...

Header: #include <QDomAttr>
CMake: find_package(Qt6 REQUIRED COMPONENTS Xml)
target_link_libraries(mytarget PRIVATE Qt6::Xml)
qmake: QT += xml
Inherits: QDomNode

Note: All functions in this class are reentrant.

Public Functions

QDomAttr()
QDomAttr(const QDomAttr &attr)
QString name() const
QDomNode::NodeType nodeType() const
QDomElement ownerElement() const
void setValue(const QString &value)
bool specified() const
QString value() const
QDomAttr &operator=(const QDomAttr &other)

Detailed Description

For example, the following piece of XML produces an element with no children, but two attributes:

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

You can access the attributes of an element with code like this:

 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"

This example also shows that changing an attribute received from an element changes the attribute of the element. If you do not want to change the value of the element's attribute you must use cloneNode() to get an independent copy of the attribute.

QDomAttr can return the name() and value() of an attribute. An attribute's value is set with setValue(). If specified() returns true the value was set with setValue(). The node this attribute is attached to (if any) is returned by ownerElement().

For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.

Member Function Documentation

QDomAttr::QDomAttr()

Constructs an empty attribute.

QDomAttr::QDomAttr(const QDomAttr &attr)

Constructs a copy of attr.

The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().

QString QDomAttr::name() const

Returns the attribute's name.

QDomNode::NodeType QDomAttr::nodeType() const

Returns AttributeNode.

QDomElement QDomAttr::ownerElement() const

Returns the element node this attribute is attached to or a null node if this attribute is not attached to any element.

void QDomAttr::setValue(const QString &value)

Sets the attribute's value to value.

See also value().

bool QDomAttr::specified() const

Returns true if the attribute has been set by the user with setValue(). Returns false if the value hasn't been specified or set.

See also setValue().

QString QDomAttr::value() const

Returns the value of the attribute or an empty string if the attribute has not been specified.

See also specified() and setValue().

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

Assigns other to this DOM attribute.

The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().