![]() |
Главная · Все классы · Основные классы · Классы по группам · Модули · Функции | ![]() |
Класс QDomElement представляет один элемент в дереве DOM. Далее...
#include <QDomElement>
Унаследован от 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 смотрите спецификации Уровень 1 и Уровень 2. Для того, чтобы больше узнать о реализации DOM, смотрите документацию по QDomDocument.
Создает пустой элемент. Используйте функцию QDomDocument::createElement(), если хотите создать элемент с содержимым.
Создаёт копию x
Данные в копиях общие (поверхностное копирование): изменение одного узла повлечет за собой изменение другого. Если вы хотите использовать глубокое копирование, воспользуйтесь cloneNode().
Возвращает атрибут с именем name. Если такого атрибута не существует, возвращается defValue.
Смотрите также setAttribute(), attributeNode(), setAttributeNode() и attributeNS().
Возвращает атрибут с локальным именем localName и URI пространства имен nsURI. Если такого атрибута не существует, возвращается defValue.
Смотрите также setAttributeNS(), attributeNodeNS(), setAttributeNodeNS() и attribute().
Возвращает объект QDomAttr, который соответствует атрибуту с именем name. Если такой атрибут не существует, возвращается нулевой атрибут.
Смотрите также setAttributeNode(), attribute(), setAttribute() и attributeNodeNS().
Возвращает объект QDomAttr, который соответствует атрибуту с локальным именем localName и URI пространства имен nsURI. Если такой атрибут не существует, возвращается нулевой атрибут.
Смотрите также setAttributeNodeNS(), setAttributeNode(), attribute() и setAttribute().
Возвращает QDomNamedNodeMap, содержащий все атрибуты элемента.
Смотрите также attribute(), setAttribute(), attributeNode() и setAttributeNode().
Возвращает QDomNodeList, содержащий всех потомков данного элемента, имеющих имя tagname. Порядок найденных узлов в списке определяется тем, как они встречались при просмотре поддерева данного элемента.
Смотрите также elementsByTagNameNS() QDomDocument::elementsByTagName().
Возвращает QDomNodeList, содержащий всех потомков данного элемента, имеющих локальное имя localName и URI пространства имен nsURI. Порядок найденных узлов в списке определяется тем, как они встречались при просмотре поддерева данного элемента.
Смотрите также elementsByTagName() и QDomDocument::elementsByTagNameNS().
Возвращает true, если данный элемент имеет атрибут с именем name; в противном случае возвращает false.
Замечание: функция не учитывает пространств имен. В результате указанное имя будет проверяться во всех атрибутах, имеющих всевозможные префиксы пространств имен.
Используйте hasAttributeNS() для проверки атрибутов с учетом определенных пространств имен.
Возвращает true, если у данного элемента есть атрибут с локальным именем localName и URI пространства имен nsURI; в противном случае возвращает false.
Возвращает ElementNode.
Удаляет атрибут с именем name из данного элемента.
Смотрите также setAttribute(), attribute() и removeAttributeNS().
Удаляет атрибут с локальным именем localName и URI пространства имен nsURI из данного элемента.
Смотрите также setAttributeNS(), attributeNS() и removeAttribute().
Удаляет атрибут oldAttr из данного элемента и возвращает удаленный атрибут.
Смотрите также attributeNode() и setAttributeNode().
Добавляет атрибут с именем name и значением value. Если атрибут с таким именем уже существует, его значение заменяется на value.
Смотрите также attribute(), setAttributeNode() и setAttributeNS().
Это перегруженная функция, предоставленная для удобства.
Это перегруженная функция, предоставленная для удобства.
Это перегруженная функция, предоставленная для удобства.
Это перегруженная функция, предоставленная для удобства.
Это перегруженная функция, предоставленная для удобства.
Это перегруженная функция, предоставленная для удобства.
Добавляет атрибут с полным именем qName и URI пространства имен nsURI со значением value. Если атрибут с такими локальным именем и URI пространства имен уже существует, его префикс заменяется на qName и его значение изменяется на value.
Хотя qName и является полным именем, локальное имя используется для того, чтобы определить, значение какого атрибута должно быть заменено.
Смотрите также attributeNS(), setAttributeNodeNS() и setAttribute().
Это перегруженная функция, предоставленная для удобства.
Это перегруженная функция, предоставленная для удобства.
Это перегруженная функция, предоставленная для удобства.
Это перегруженная функция, предоставленная для удобства.
Это перегруженная функция, предоставленная для удобства.
Добавляет атрибут newAttr к текущему элементу.
Если элемент уже имеет другой атрибут с тем же именем (newAttr), функция заменит имеющийся атрибут и вернет его; в противном случае функция вернет нулевой атрибут.
Смотрите также attributeNode(), setAttribute() и setAttributeNodeNS().
Добавляет атрибут newAttr к текущему элементу.
Если элемент уже содержит другой атрибут с теми же локальным именем и URI пространства имен, как и newAttr, функция замещает этот атрибут и возвращает его; в противном случае функция возвращает нулевой атрибут.
Смотрите также attributeNodeNS(), setAttributeNS() и setAttributeNode().
Устанавливает имя тега элемента в name.
Смотрите также tagName().
Возвращает имя тега данного элемента. Например, если XML документ выглядит следующим образом:
<img src="myimg.png">
функция вернет "img".
Смотрите также setTagName().
Возвращает текст элемента или пустую строку.
Пример:
<h1>Hello <b>Qt</b> <![CDATA[<xml is cool>]]></h1>
Функция text() класса QDomElement для тега <h1> вернет следующий текст:
Hello Qt <xml is cool>
В этой функции комментарии игнорируются. Она учитывает только объекты QDomText и QDomCDATASection.
Ассоциирует x с текущим элементом DOM.
Данные в копиях общие (поверхностное копирование): изменение одного узла повлечет за собой изменение другого. Если вы хотите использовать глубокое копирование, воспользуйтесь cloneNode().
Copyright © 2008 Trolltech | Торговые марки | Qt 4.3.5 |