Класс QXmlItem
Класс QXmlItem содержит либо узел XML, либо атомарное значение. Подробнее...
| Заголовок: | #include <QXmlItem> |
| qmake: | QT += xmlpatterns |
| С тех пор: | Qt 4.4 |
Этот класс был представлен в Qt 4.4.
Примечание: Все функции в этом классе являются реентерабельными.
Общие типы
| typedef | Iterator |
Общедоступные функции
| QXmlItem(const QVariant &atomicValue) | |
| QXmlItem(const QXmlNodeModelIndex &node) | |
| QXmlItem(const QXmlItem &other) | |
| QXmlItem() | |
| QXmlItem & | operator=(const QXmlItem &other) |
| ~QXmlItem() | |
| bool | isAtomicValue() const |
| bool | isNode() const |
| bool | isNull() const |
| QVariant | toAtomicValue() const |
| QXmlNodeModelIndex | toNodeModelIndex() const |
Подробное описание
В 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() позволяет определить это. Атомарные значения в другом API Qt представлены как объекты QVariant, и объект QXmlItem, представляющий атомарное значение, может быть преобразован в QVariant с помощью вызова toAtomicValue(). Объект QXmlItem, оборачивающий узел, в другом API Qt представлен как объект QXmlNodeModelIndex. Объект QXmlItem, представляющий узел, может быть преобразован в QXmlNodeModelIndex с помощью вызова toNodeModelIndex().
Объект QXmlItem по умолчанию не является ни узлом, ни атомарным значением. Он считается нулевым, в этом случае isNull() возвращает true.
Объект QXmlItem может стать висящим, если модель узла XML, на которую он ссылается (если это QXmlNodeModelIndex), будет удалена.
Документация по типу члена
typedef QXmlItem::Iterator
Объект QAbstractXmlForwardIterator над QXmlItem.
Документация по функциям-членам
QXmlItem::QXmlItem(const QVariant &atomicValue)
Создаёт объект QXmlItem с атомарным значением atomicValue.
См. также isAtomicValue().
QXmlItem::QXmlItem(const QXmlNodeModelIndex &node)
Создаёт объект QXmlItem узла, являющегося копией node.
См. также isNode().
QXmlItem::QXmlItem(const QXmlItem &other)
Конструктор копирования создаёт копию other.
QXmlItem::QXmlItem()
Создаёт нулевой объект QXmlItem, который не является ни узлом, ни атомарным значением. isNull() возвращает true для экземпляра, созданного по умолчанию.
QXmlItem &QXmlItem::operator=(const QXmlItem &other)
Присваивает other объекту this.
QXmlItem::~QXmlItem()
Деструктор.
bool QXmlItem::isAtomicValue() const
Возвращает true, если этот элемент является атомарным значением. Возвращает false, если это узел или null.
См. также isNull() и isNode().
bool QXmlItem::isNode() const
Возвращает true, если этот элемент является узлом. Возвращает false, если это атомарное значение или null.
См. также 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().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qxmlitem.html