Класс 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