Класс 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, оборачивающий узел, представлен в другом месте экземпляром 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.15/qxmlitem.html