- Qt 6.9
- Qt XML
- C++ Classes
- QDomProcessingInstruction
- Qt 6.9.3 Reference Documentation

# QDomProcessingInstruction Class

The QDomProcessingInstruction class represents an XML processing instruction. More...

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

- List of all members, including inherited members
- QDomProcessingInstruction is part of XML Classes.

Note: All functions in this class are reentrant.

## Public Functions

| QDomProcessingInstruction()
| QDomProcessingInstruction(const QDomProcessingInstruction &processingInstruction)
QString | data() const
QDomNode::NodeType | nodeType() const
void | setData(const QString &data)
QString | target() const
QDomProcessingInstruction & | operator=(const QDomProcessingInstruction &other)

## Detailed Description

Processing instructions are used in XML to keep processor-specific information in the text of the document.

The XML declaration that appears at the top of an XML document, typically `<?xml version='1.0' encoding='UTF-8'?>`, is treated by QDom as a processing instruction. This is unfortunate, since the XML declaration is not a processing instruction; among other differences, it cannot be inserted into a document anywhere but on the first line.

Note: Do not use this function to create an XML declaration. Although the XML declaration shares the same syntax as a processing instruction, it is not one. According to the XML 1.0 Specification and the W3C DOM Structure Model, the XML declaration is part of the document prolog and not part of the DOM tree - meaning it should not be represented as a DOM node and cannot be created or inserted via the DOM API. If you need to generate a well-formed XML document that includes an XML declaration, use QXmlStreamWriter, which provides proper support for writing the declaration through writeStartDocument.

The content of the processing instruction is retrieved with data() and set with setData(). The processing instruction's target is retrieved with target().

For further information about the Document Object Model see Level 1 and Level 2 Core. For a more general introduction of the DOM implementation see the QDomDocument documentation.

## Member Function Documentation

### QDomProcessingInstruction::QDomProcessingInstruction()

Constructs an empty processing instruction. Use QDomDocument::createProcessingInstruction() to create a processing instruction with content.

### QDomProcessingInstruction::QDomProcessingInstruction(const QDomProcessingInstruction &processingInstruction)

Constructs a copy of processingInstruction.

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 QDomProcessingInstruction::data() const

Returns the content of this processing instruction.

See also setData() and target().

### QDomNode::NodeType QDomProcessingInstruction::nodeType() const

Returns `ProcessingInstructionNode`.

### void QDomProcessingInstruction::setData(const QString &data)

Sets the data contained in the processing instruction to data.

See also data().

### QString QDomProcessingInstruction::target() const

Returns the target of this processing instruction.

See also data().

### QDomProcessingInstruction &QDomProcessingInstruction::operator=(const QDomProcessingInstruction &other)

Assigns other to this processing instruction.

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