- Qt 5.15
- Qt XML
- C++ Classes
- QDomAttr
- Qt 5.15.15 Reference Documentation

# QDomAttr Class

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

Header: | #include <QDomAttr>
qmake: | QT += xml
Inherits: | QDomNode

- List of all members, including inherited members

Note: All functions in this class are reentrant.

## Public Functions

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

## 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 << a.value() << Qt::endl;                // prints "http://qt-project.org"
     a.setValue("http://qt-project.org/doc"); // change the node's attribute
     QDomAttr a2 = e.attributeNode("href");
     cout << a2.value() << Qt::endl;               // 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(const QDomAttr &x)

Constructs a copy of x.

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().

### QDomAttr::QDomAttr()

Constructs an empty attribute.

### QDomAttr &QDomAttr::operator=(const QDomAttr &x)

Assigns x 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().

### 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 &v)

Sets the attribute's value to v.

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().