Spec-Zone.ru › Qt 5.11

Класс QXmlItem

Класс QXmlItem содержит либо узел XML, либо атомное значение. Подробнее...

Заголовок: #include <QXmlItem>
qmake: QT += xmlpatterns
С момента: Qt 4.4
  • Список всех членов, включая унаследованные члены

Примечание: Все функции в этом классе являются повторно входящими.

Открытые типы

typedef Iterator

Открытые функции

QXmlItem()
QXmlItem(const QXmlItem &other)
QXmlItem(const QXmlNodeModelIndex &node)
QXmlItem(const QVariant &atomicValue)
~QXmlItem()
bool isAtomicValue() const
bool isNode() const
bool isNull() const
QVariant toAtomicValue() const
QXmlNodeModelIndex toNodeModelIndex() const
QXmlItem & operator=(const QXmlItem &other)

Подробное описание

Класс QXmlItem содержит либо узел XML, либо атомное значение.

В XQuery все выражения вычисляются как последовательность элементов, где каждый элемент представляет собой либо узел XML, либо атомное значение. Запрос в следующем фрагменте кода вычисляет последовательность из пяти элементов.

<aNode/>,
xs:base64Binary("FFFF"),
current-date(),
3e3, (: A floating point value :)
attribute {"name"} {()}

Эти пять элементов: элемент, атомное значение (бинарные данные, закодированные в base64), дата, число с плавающей точкой и атрибут.

QXmlItem — это класс, представляющий эти элементы XQuery в API Qt XML Patterns. Объект QXmlItem (не равный null) является либо узлом, либо атомным значением. Вызов isNode() или isAtomicValue() позволяет определить, какой именно тип объекта представлен. Атомные значения в Qt API представлены объектами QVariant, и объект QXmlItem, представляющий атомное значение, может быть преобразован в QVariant путём вызова toAtomicValue(). Объект QXmlItem, оборачивающий узел, представлен в Qt как объект QXmlNodeModelIndex. Объект QXmlItem, представляющий узел, может быть преобразован в QXmlNodeModelIndex путём вызова toNodeModelIndex().

Объект QXmlItem по умолчанию не является ни узлом, ни атомным значением. Он считается нулевым, и в этом случае isNull() возвращает true.

Объект QXmlItem может потерять актуальность, если модель узла XML, к которой он ссылается (если это QXmlNodeModelIndex), будет удалена.

Документация по типам членов

typedef QXmlItem::Iterator

Объект QAbstractXmlForwardIterator для QXmlItem.

Документация по функциям-членам

QXmlItem::QXmlItem()

Создаёт нулевой QXmlItem, не являющийся ни узлом, ни атомным значением. isNull() возвращает true для объекта, созданного по умолчанию.

QXmlItem::QXmlItem(const QXmlItem &other)

Копирующий конструктор создаёт копию other.

QXmlItem::QXmlItem(const QXmlNodeModelIndex &node)

Создаёт QXmlItem типа узел, являющийся копией node.

См. также isNode().

QXmlItem::QXmlItem(const QVariant &atomicValue)

Создаёт QXmlItem типа атомное значение с параметром atomicValue.

См. также isAtomicValue().

QXmlItem::~QXmlItem()

Деструктор.

bool QXmlItem::isAtomicValue() const

Возвращает true, если этот элемент — атомное значение. Возвращает false, если это узел или нулевой элемент.

См. также isNull() и isNode().

bool QXmlItem::isNode() const

Возвращает true, если этот элемент — узел. Возвращает false, если это атомное значение или нулевой элемент.

См. также isNull() и isAtomicValue().

bool QXmlItem::isNull() const

Возвращает true, если этот QXmlItem не является ни узлом, ни атомным значением. Объекты QXmlItem, созданные по умолчанию, являются нулевыми.

QVariant QXmlItem::toAtomicValue() const

Если этот QXmlItem представляет атомное значение, он преобразуется в соответствующий QVariant и возвращается. Если этот QXmlItem не является атомным значением, возвращается QVariant по умолчанию. Вы можете вызвать isAtomicValue(), чтобы проверить, является ли элемент атомным значением.

См. также isAtomicValue().

QXmlNodeModelIndex QXmlItem::toNodeModelIndex() const

Если этот QXmlItem представляет узел, возвращает его как QXmlNodeModelIndex. Если этот QXmlItem не представляет узел, результат неопределён. Вы можете вызвать isNode(), чтобы проверить, является ли элемент узлом.

См. также isNode().

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

Присваивает other значению this.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qxmlitem.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API