Qt:Документация 4.3.2/qdomelement
Материал из Wiki.crossplatform.ru
Root (Обсуждение | вклад) (Новая: {{Qt4.3.2_header}} =Описание класса QDomElement<br /><sup><sup>[модуль QtXml ] </sup></sup>= Класс QDomElement п...) |
Root (Обсуждение | вклад) (→QString QDomElement::text () const) |
||
Строка 266: | Строка 266: | ||
Пример: | Пример: | ||
<source lang="cpp-qt"> <h1>Hello <b>Qt</b> <![CDATA[<xml is cool>]]></h1></source> | <source lang="cpp-qt"> <h1>Hello <b>Qt</b> <![CDATA[<xml is cool>]]></h1></source> | ||
- | Функция text() класса [[Qt:Документация 4.3.2/qdomelement | QDomElement]] для тега <tt> | + | Функция text() класса [[Qt:Документация 4.3.2/qdomelement | QDomElement]] для тега <tt><h1></tt> вернет следующий текст: |
<source lang="cpp-qt"> Hello Qt &lt;xml is cool&gt;</source> | <source lang="cpp-qt"> Hello Qt &lt;xml is cool&gt;</source> | ||
В этой функции комментарии игнорируются. Она учитывает только [[Qt:Документация 4.3.2/qdomtext | QDomText]] и [[Qt:Документация 4.3.2/qdomcdatasection | QDomCDATASection]] объекты. | В этой функции комментарии игнорируются. Она учитывает только [[Qt:Документация 4.3.2/qdomtext | QDomText]] и [[Qt:Документация 4.3.2/qdomcdatasection | QDomCDATASection]] объекты. |
Текущая версия на 11:08, 6 ноября 2008
Внимание: Актуальная версия перевода документации находится здесь |
__NOTOC__
Главная · Все классы · Основные классы · Классы по группам · Модули · Функции |
[править] Описание класса QDomElement
[модуль QtXml ]
Класс QDomElement представляет один элемент в DOM дереве. Далее...
#include <QDomElement>
Наследует 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, int value )
- void setAttribute ( const QString & name, uint value )
- void setAttribute ( const QString & name, qlonglong value )
- void setAttribute ( const QString & name, qulonglong 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 )
- 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 &lt;xml is cool&gt;
В этой функции комментарии игнорируются. Она учитывает только QDomText и QDomCDATASection объекты.
[править] QDomElement & QDomElement::operator= ( const QDomElement & x )
Прикрепляет x к данному DOM элементу.
Данные в копиях общие (поверхностное копирование): изменение одного узла повлечет за собой изменение и другого. Если вы хотите использовать глубокое копирование, воспользуйтесь функцией cloneNode().
Copyright © 2007 Trolltech | Trademarks | Qt 4.3.2
|