Класс 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 — это либо узел, либо атомарное значение. Вызов 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.14/qxmlitem.html