Qt:Документация 4.3.2/qdomelement

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск
40px Внимание: Актуальная версия перевода документации находится здесь

__NOTOC__

Image:qt-logo.png

Главная · Все классы · Основные классы · Классы по группам · Модули · Функции

Image:trolltech-logo.png

Содержание

[править] Описание класса QDomElement
[модуль QtXml ]

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

 #include <QDomElement>

Наследует QDomNode.

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

[править] Открытые функции

  • 66 открытых функций унаследованных от 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.nextSiblingElelement("entry")) {
     // ...
 }

Для получения дополнительной информации о Document Object Model смотрите Level 1 и Level 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, int value )

Это перегруженная фукнция, созданная для удобства.

[править]
void QDomElement::setAttribute ( const QString & name, uint value )

Это перегруженная фукнция, созданная для удобства.

[править]
void QDomElement::setAttribute ( const QString & name, qlonglong value )

Это перегруженная фукнция, созданная для удобства.

[править]
void QDomElement::setAttribute ( const QString & name, qulonglong 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 &amp;lt;xml is cool&amp;gt;

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

[править]
QDomElement & QDomElement::operator= ( const QDomElement & x )

Прикрепляет x к данному DOM элементу.

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


Copyright © 2007 Trolltech Trademarks
Qt 4.3.2