Spec-Zone.ru › Qt 5.14

Класс QDomElement

Класс QDomElement представляет собой один элемент в дереве DOM. Подробнее...

Заголовок: #include <QDomElement>
qmake: QT += xml
Наследуется от: QDomNode
  • Список всех членов, включая унаследованные

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

Публичные функции

QDomElement(const QDomElement &x)
QDomElement()
QDomElement & operator=(const QDomElement &x)
QString attribute(const QString &name, const QString &defValue = QString()) const
QString attributeNS(const QString nsURI, const QString &localName, const QString &defValue = QString()) const
QDomAttr attributeNode(const QString &name)
QDomAttr attributeNodeNS(const QString &nsURI, const QString &localName)
QDomNamedNodeMap attributes() const
QDomNodeList elementsByTagName(const QString &tagname) const
QDomNodeList elementsByTagNameNS(const QString &nsURI, const QString &localName) const
bool hasAttribute(const QString &name) const
bool hasAttributeNS(const QString &nsURI, const QString &localName) const
QDomNode::NodeType nodeType() const
void removeAttribute(const QString &name)
void removeAttributeNS(const QString &nsURI, const QString &localName)
QDomAttr removeAttributeNode(const QDomAttr &oldAttr)

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

Элементы имеют tagName() и ноль или более атрибутов, связанных с ними. Имя тега можно изменить с помощью setTagName().

Атрибуты элементов представлены объектами QDomAttr, которые можно запросить с помощью функций attribute() и attributeNode(). Вы можете установить атрибуты с помощью функций setAttribute() и setAttributeNode(). Атрибуты можно удалить с помощью removeAttribute(). Существуют аналогичные функции с поддержкой пространств имен, например, setAttributeNS(), setAttributeNodeNS() и removeAttributeNS().

Если вы хотите получить доступ к тексту узла, используйте text(), например:

QDomElement e = //...
//...
QString s = e.text()

Функция text() работает рекурсивно, чтобы найти текст (поскольку не все элементы содержат текст). Если вы хотите найти весь текст во всех дочерних узлах, перебирайте дочерние узлы, ища узлы QDomText, например:

QString text;
QDomElement element = doc.documentElement();
for(QDomNode n = element.firstChild(); !n.isNull(); n = n.nextSibling())
{
    QDomText t = n.toText();
    if (!t.isNull())
        text += t.data();
}

Обратите внимание, что мы пытаемся преобразовать каждый узел в текстовый узел и использовать text() вместо использования firstChild().toText().data() или n.toText().data() непосредственно на узле, потому что узел может не быть текстовым элементом.

Вы можете получить список всех потомков элемента, которые имеют указанное имя тега, с помощью elementsByTagName() или elementsByTagNameNS().

Чтобы перебрать элементы документа DOM, используйте firstChildElement(), lastChildElement(), nextSiblingElement() и previousSiblingElement(). Например, чтобы перебрать все дочерние элементы с именем "entry" в корневом элементе с именем "database", вы можете использовать:

QDomDocument doc = // ...
QDomElement root = doc.firstChildElement("database");
QDomElement elt = root.firstChildElement("entry");
for (; !elt.isNull(); elt = elt.nextSiblingElement("entry")) {
    // ...
}

Для получения дополнительной информации о модели объекта документа см. уровень 1 и уровень 2 Core. Для более общего введения в реализацию DOM см. документацию по QDomDocument.

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

QDomElement::QDomElement(const QDomElement &x)

Создает копию x.

Данные копии разделяются (копия по ссылке): изменение одного узла также изменит другой. Если вы хотите создать глубокую копию, используйте cloneNode().

QDomElement::QDomElement()

Создаёт пустой элемент. Используйте функцию QDomDocument::createElement() для создания элементов с содержимым.

QDomElement &QDomElement::operator=(const QDomElement &x)

Присваивает x этому элементу DOM.

Данные копии разделяются (неглубокая копия): изменение одного узла также изменит другой. Если вам нужна глубокая копия, используйте cloneNode().

QString QDomElement::attribute(const QString &name, const QString &defValue = QString()) const

Возвращает атрибут с именем name. Если атрибут не существует, возвращается defValue.

См. также setAttribute(), attributeNode(), setAttributeNode() и attributeNS().

QString QDomElement::attributeNS(const QString nsURI, const QString &localName, const QString &defValue = QString()) const

Возвращает атрибут с локальным именем localName и URI пространства имён nsURI. Если атрибут не существует, возвращается defValue.

См. также setAttributeNS(), attributeNodeNS(), setAttributeNodeNS() и attribute().

QDomAttr QDomElement::attributeNode(const QString &name)

Возвращает объект QDomAttr, соответствующий атрибуту с именем name. Если такого атрибута нет, возвращается нулевой атрибут.

См. также setAttributeNode(), attribute(), setAttribute() и attributeNodeNS().

QDomAttr QDomElement::attributeNodeNS(const QString &nsURI, const QString &localName)

Возвращает объект QDomAttr, соответствующий атрибуту с локальным именем localName и URI пространства имён nsURI. Если такого атрибута нет, возвращается нулевой атрибут.

См. также setAttributeNodeNS(), setAttributeNode(), attribute() и setAttribute().

QDomNamedNodeMap QDomElement::attributes() const

Возвращает QDomNamedNodeMap, содержащий все атрибуты этого элемента.

См. также attribute(), setAttribute(), attributeNode() и setAttributeNode().

QDomNodeList QDomElement::elementsByTagName(const QString &tagname) const

Возвращает QDomNodeList, содержащий всех потомков этого элемента с именем tagname, встреченных во время обхода элемента поддерева в порядке прямой обхода с этим элементом в качестве корня. Порядок элементов в возвращаемом списке — порядок, в котором они встречаются при обходе в порядке прямой обхода.

См. также elementsByTagNameNS() и QDomDocument::elementsByTagName().

QDomNodeList QDomElement::elementsByTagNameNS(const QString &nsURI, const QString &localName) const

Возвращает QDomNodeList, содержащий всех потомков этого элемента с локальным именем localName и URI пространства имён nsURI, встреченных во время обхода элемента поддерева в порядке прямой обхода с этим элементом в качестве корня. Порядок элементов в возвращаемом списке — порядок, в котором они встречаются при обходе в порядке прямой обхода.

См. также elementsByTagName() и QDomDocument::elementsByTagNameNS().

bool QDomElement::hasAttribute(const QString &name) const

Возвращает true , если у этого элемента есть атрибут с именем name; в противном случае возвращает false.

Примечание: Эта функция не учитывает наличие пространств имён. В результате указанное имя будет проверяться на полностью квалифицированные имена атрибутов, которые могут включать любые префиксы пространства имён, которые могут присутствовать.

Используйте hasAttributeNS(), чтобы явно проверить наличие атрибутов с определёнными пространствами имён и именами.

bool QDomElement::hasAttributeNS(const QString &nsURI, const QString &localName) const

Возвращает true , если у этого элемента есть атрибут с локальным именем localName и URI пространства имён nsURI; в противном случае возвращает false.

QDomNode::NodeType QDomElement::nodeType() const

Возвращает ElementNode.

void QDomElement::removeAttribute(const QString &name)

Удаляет атрибут с именем name из этого элемента.

См. также setAttribute(), attribute() и removeAttributeNS().

void QDomElement::removeAttributeNS(const QString &nsURI, const QString &localName)

Удаляет атрибут с локальным именем localName и URI пространства имён nsURI из этого элемента.

См. также setAttributeNS(), attributeNS() и removeAttribute().

QDomAttr QDomElement::removeAttributeNode(const QDomAttr &oldAttr)

Удаляет атрибут oldAttr из элемента и возвращает его.

См. также attributeNode() и setAttributeNode().

void QDomElement::setAttribute(const QString &name, const QString &value)

Добавляет атрибут с именем name и значением value. Если атрибут с таким же именем существует, его значение заменяется на value.

См. также attribute(), setAttributeNode() и setAttributeNS().

void QDomElement::setAttribute(const QString &name, qlonglong value)

Это перегруженная функция.

Форматирование всегда использует QLocale::C.

void QDomElement::setAttribute(const QString &name, qulonglong value)

Это перегруженная функция.

Форматирование всегда использует QLocale::C.

void QDomElement::setAttribute(const QString &name, int value)

Это перегруженная функция.

Форматирование всегда использует QLocale::C.

void QDomElement::setAttribute(const QString &name, uint value)

Это перегруженная функция.

Форматирование всегда использует QLocale::C.

void QDomElement::setAttribute(const QString &name, float value)

Это перегруженная функция.

Форматирование всегда использует QLocale::C.

void QDomElement::setAttribute(const QString &name, double value)

Это перегруженная функция.

Форматирование всегда использует QLocale::C.

END_OF_DOCUMENT_MARKER

void QDomElement::setAttributeNS(const QString nsURI, const QString &qName, const QString &value)

Добавляет атрибут с полным именем qName и URI пространства имён nsURI со значением value. Если атрибут с тем же локальным именем и URI пространства имён уже существует, его префикс заменяется на префикс qName, а значение — на value.

Хотя qName — это полное имя, для определения, следует ли заменить значение существующего атрибута, используется локальное имя.

См. также attributeNS(), setAttributeNodeNS() и setAttribute().

void QDomElement::setAttributeNS(const QString nsURI, const QString &qName, int value)

Это перегруженный метод.

void QDomElement::setAttributeNS(const QString nsURI, const QString &qName, uint value)

Это перегруженный метод.

void QDomElement::setAttributeNS(const QString nsURI, const QString &qName, qlonglong value)

Это перегруженный метод.

void QDomElement::setAttributeNS(const QString nsURI, const QString &qName, qulonglong value)

Это перегруженный метод.

void QDomElement::setAttributeNS(const QString nsURI, const QString &qName, double value)

Это перегруженный метод.

QDomAttr QDomElement::setAttributeNode(const QDomAttr &newAttr)

Добавляет атрибут newAttr к этому элементу.

Если у элемента уже есть атрибут с тем же именем, что и newAttr, эта функция заменяет его и возвращает его; в противном случае функция возвращает нулевой атрибут.

См. также attributeNode(), setAttribute() и setAttributeNodeNS().

QDomAttr QDomElement::setAttributeNodeNS(const QDomAttr &newAttr)

Добавляет атрибут newAttr к этому элементу.

Если у элемента уже есть атрибут с тем же локальным именем и URI пространства имён, что и newAttr, эта функция заменяет его и возвращает его; в противном случае функция возвращает нулевой атрибут.

См. также attributeNodeNS(), setAttributeNS() и setAttributeNode().

void QDomElement::setTagName(const QString &name)

Устанавливает имя тега этого элемента на name.

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

QString QDomElement::tagName() const

Возвращает имя тега этого элемента. Для XML-элемента, такого как:

<img src="myimg.png">

имя тега вернёт "img".

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

QString QDomElement::text() const

Возвращает текст элемента или пустую строку.

Пример:

<h1>Hello <b>Qt</b> <![CDATA[<xml is cool>]]></h1>

Функция text() класса QDomElement для тега <h1> возвращает следующий текст:

Hello Qt <xml is cool>

Комментарии игнорируются этой функцией. Она обрабатывает только объекты QDomText и QDomCDATASection.

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

Spec-Zone.ru

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