Spec-Zone.ru › Qt 5.11

Класс QDomElement

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

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

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

Открытые функции

QDomElement()
QDomElement(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)
void setAttribute(const QString &name, const QString &value)
void setAttribute(const QString &name, qlonglong value)
void setAttribute(const QString &name, qulonglong value)
void setAttribute(const QString &name, int value)
void setAttribute(const QString &name, uint value)
void setAttribute(const QString &name, float value)
void setAttribute(const QString &name, double value)
void setAttributeNS(const QString nsURI, const QString &qName, const QString &value)
void setAttributeNS(const QString nsURI, const QString &qName, int value)
void setAttributeNS(const QString nsURI, const QString &qName, uint value)
void setAttributeNS(const QString nsURI, const QString &qName, qlonglong value)
void setAttributeNS(const QString nsURI, const QString &qName, qulonglong value)
void setAttributeNS(const QString nsURI, const QString &qName, double value)
QDomAttr setAttributeNode(const QDomAttr &newAttr)
QDomAttr setAttributeNodeNS(const QDomAttr &newAttr)
void setTagName(const QString &name)
QString tagName() const
QString text() const
QDomElement & operator=(const QDomElement &x)
  • 65 открытых функций, унаследованных от QDomNode

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

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

Элементы имеют 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")) {
    // ...
}

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

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

QDomElement::QDomElement()

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

QDomElement::QDomElement(const QDomElement &x)

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

Данные копии совместно используются (неглубокая копия): изменение одного узла также повлияет на другой. Если требуется глубокая копия, используйте 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)

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

Число форматируется в соответствии с текущим языковым стандартом.

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

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

Число форматируется в соответствии с текущим языковым стандартом.

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

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

Число форматируется в соответствии с текущим языковым стандартом.

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

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

Число форматируется в соответствии с текущим языковым стандартом.

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

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

Число форматируется в соответствии с текущим языковым стандартом.

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

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

Число форматируется в соответствии с текущим языковым стандартом.

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.

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

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

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

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

Spec-Zone.ru

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