Описание класса QDomNode
|
Константа | Значение | Описание |
---|---|---|
QDomNode::EncodingFromDocument | 1 | Кодировка определяется из документа. |
QDomNode::EncodingFromTextStream | 2 | Кодировка определяется из QTextStream. |
Смотрите также перегруженную функцию save(), которая учитывает EncodingPolicy.
Данное перечисление было введено в Qt 4.3.
Перечисление определяет типы узлов:
Константа | Значение | Описание |
---|---|---|
QDomNode::ElementNode | 1 | |
QDomNode::AttributeNode | 2 | |
QDomNode::TextNode | 3 | |
QDomNode::CDATASectionNode | 4 | |
QDomNode::EntityReferenceNode | 5 | |
QDomNode::EntityNode | 6 | |
QDomNode::ProcessingInstructionNode | 7 | |
QDomNode::CommentNode | 8 | |
QDomNode::DocumentNode | 9 | |
QDomNode::DocumentTypeNode | 10 | |
QDomNode::DocumentFragmentNode | 11 | |
QDomNode::NotationNode | 12 | |
QDomNode::BaseNode | 21 | Объект QDomNode, т.е. не подкласс QDomNode. |
QDomNode::CharacterDataNode | 22 |
Создаёт нулевой узел.
Создаёт копию n.
Данные в копиях общие (поверхностное копирование): изменение одного узла повлечет за собой изменение другого. Если вы хотите использовать глубокое копирование, воспользуйтесь cloneNode().
Уничтожает объекты и освобождает их ресурсы.
Присоединяет узел newChild в качестве последнего потомка к текущему.
Если newChild является потомком другого узла, то его предок изменяется на текущий узел. Если newChild узел является потомком данного узла, изменяется его позиция в списке потомков.
Если newChild является QDomDocumentFragment, все потомки фрагмента удаляются из него и присоединяются к текущему узлу.
Если newChild является QDomElement и текущий узел является QDomDocument, уже имеющим такой элемент в качестве потомка, newChild не будет добавлен, пустой узел будет возвращен.
При вызове этой функции у нулевого узла (созданного, например, с помощью конструктора по умолчанию) ничего не произойдет.
Спецификация DOM запрещает вставку узлов атрибутов, но из-за исторических соображений QDom позволяет это.
Смотрите также insertBefore(), insertAfter(), replaceChild() и removeChild().
Возвращает словарь всех атрибутов. Атрибуты предусмотрены только для объектов QDomElement.
Изменение атрибутов в словаре приведет к изменению их и непосредственно в объекте QDomNode.
Возвращает список всех непосредственных узлов-потомков.
Наиболее часто вы будете пользоваться этой функцией с объектом QDomElement.
Например, если XML-документ выглядит следующим образом:
<body> <h1>Heading</h1> <p>Hello <b>you</b></p> </body>
То список узлов-потомков элемента "body" будет состоять из узла, созданного тегом <h1>, и узла, созданного тегом <p>.
Узлы в списке не являются копиями; поэтому изменение узлов в списке приведет и к изменению их в самом объекте.
Смотрите также firstChild() и lastChild().
Конвертирует узел в нулевой; если узел не был нулевым, его содержимое удаляется.
Смотрите также isNull().
Создает глубокую (не поверхностную) копию объекта QDomNode.
Если deep равен true, клонирование происходит рекурсивно, что означает, что все потомки узла будут скопированы подобным же образом. Если deep равен false, будет скопирован только текущий узел, узлы-потомки скопированы не будут.
Для узлов, созданных с помощью QDomDocument::setContent(), эта функция возвращает номер столбца в XML-документе, где он был проанализирован. В противном случае возвращает -1.
Эта функция была введена в Qt 4.1.
Смотрите также lineNumber() и QDomDocument::setContent().
Возвращает первого потомка узла. Если такового нет, возвращается нулевой узел. Изменение возвращенного узла приведет и к изменению узла в дереве документа.
Смотрите также lastChild() и childNodes().
Возвращает первого потомка с именем тега tagName, если tagName не пуст; в противном случае возвращает первого потомка элемента. Если таких узлов не обнаружено, возвращается нулевой элемент.
Смотрите также lastChildElement(), previousSiblingElement() и nextSiblingElement().
Возвращает true, если узел имеет атрибуты; в противном случае возвращает false.
Смотрите также attributes().
Возвращает true, если узел имеет одного или более потомков; в противном случае возвращает false.
Вставляет узел newChild после refChild. refChild должен быть непосредственным потомком текущего узла. Если refChild является нулевым, тогда newChild присоединяется в качестве последнего потомка.
Если newChild является потомком другого узла, то его предок изменяется на текущий узел. Если newChild узел является потомком данного узла, изменяется его позиция в списке потомков.
Если newChild является QDomDocumentFragment, тогда потомки этого фрагмента удаляются из него и вставляются после refChild.
Возвращает новую ссылку на newChild в случае успешного завершения или нулевой узел в случае неудачи.
Спецификация DOM запрещает вставку узлов атрибутов, но из-за исторических соображений QDom позволяет это.
Смотрите также insertBefore(), replaceChild(), removeChild() и appendChild().
Вставляет узел newChild перед узлом-потомком refChild. refChild должен быть непосредственным потомком текущего узла. Если refChild является нулевым, тогда newChild присоединяется в качестве первого потомка.
Если newChild является потомком другого узла, то его предок изменяется на текущий узел. Если newChild узел является потомком данного узла, изменяется его позиция в списке потомков.
Если newChild является QDomDocumentFragment, тогда потомки этого фрагмента удаляются из него и вставляются до refChild.
Возвращает новую ссылку на newChild в случае успешного завершения или нулевой узел в случае неудачи.
Спецификация DOM запрещает вставку узлов атрибутов, но из-за исторических соображений QDom позволяет это.
Смотрите также insertAfter(), replaceChild(), removeChild() и appendChild().
Возвращает true, если узел является атрибутом; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomAttribute; вы можете получить QDomAttribute с помощью toAttribute().
Смотрите также toAttr().
Возвращает true, если узел является секцией CDATA; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomCDATASection; вы можете получить QDomCDATASection с помощью toCDATASection().
Смотрите также toCDATASection().
Возвращает true, если узел является текстовым узлом; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomCharacterData; вы можете получить QDomCharacterData с помощью toCharacterData().
Смотрите также toCharacterData().
Возвращает true, если узел является комментарием; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomComment; вы можете получить QDomComment с помощью toComment().
Смотрите также toComment().
Возвращает true, если узел является документом; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomDocument; вы можете получить QDomDocument с помощью toDocument().
Смотрите также toDocument().
Возвращает true, если узел является фрагментом документа; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomDocumentFragment; вы можете получить QDomDocumentFragment с помощью toDocumentFragment().
Смотрите также toDocumentFragment().
Возвращает true, если узел является типом документа; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomDocumentType; вы можете получить QDomDocumentType с помощью toDocumentType().
Смотрите также toDocumentType().
Возвращает true, если узел является элементом; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomElement; вы можете получить QDomElement с помощью toElement().
Смотрите также toElement().
Возвращает true, если узел является сущностью; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomEntity; вы можете получить QDomEntity с помощью toEntity().
Смотрите также toEntity().
Возвращает true, если узел является ссылкой на сущность; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomEntityReference; вы можете получить QDomEntityReference с помощью toEntityReference().
Смотрите также toEntityReference().
Возвращает true, если узел является нотацией; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomNotation; вы можете получить QDomNotation с помощью toNotation().
Смотрите также toNotation().
Возвращает true, если текущий узел является нулевым (т.е. он не имеет типа или содержимого); в противном случае возвращает false.
Возвращает true, если узел является инструкцией обработки; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomProcessingInstruction; вы можете получить QProcessingInstruction with toProcessingInstruction().
Смотрите также toProcessingInstruction().
Возвращает true, если в реализации DOM имеется функция feature и эта функциональность поддерживается узлом в текущей версии version; в противном случает возвращает false.
Смотрите также QDomImplementation::hasFeature().
Возвращает true, если узел является текстовым узлом; в противном случае возвращает false.
Если эта функция возвращает true, это не значит, что данный объект является QDomText; вы можете получить QDomText с помощью toText(().
Смотрите также toText().
Возвращается последний потомок узла. Если такового нет, возвращается нулевой узел. Изменение возвращенного узла приведет и к изменению узла в дереве документа.
Смотрите также firstChild() и childNodes().
Возвращает последний элемент с именем тега tagName, если tagName не является пустым; в противном случае возвращается первый потомок. Если таких узлов не обнаружено, возвращается нулевой элемент.
Смотрите также firstChildElement(), previousSiblingElement() и nextSiblingElement().
Для узлов, созданных с помощью QDomDocument::setContent(), эта функция возвращает номер строки в XML-документе, куда узел был помещен. В противном случае возвращает -1.
Эта функция была введена в Qt 4.1.
Смотрите также columnNumber() и QDomDocument::setContent().
Если узел использует пространство имен, данная функция возвращает локальное имя узла; в противном случае возвращается пустая строка.
Только ElementNode или AttributeNode могут работать с пространствами имён. Причем оно должно быть определено при создании; невозможно добавить пространство имен позже.
QDomDocument::createAttributeNS()
Смотрите также prefix(), namespaceURI() и QDomDocument::createElementNS().
Возвращает первого потомка текущего узла, имя nodeName() которого равно name.
Если непосредственных потомков нет, возвращается нулевой узел.
Смотрите также nodeName().
Возвращает URI пространства имен данного узла или пустую строку, если URI нет.
Только ElementNode или AttributeNode могут работать с пространствами имён. URI пространства имен должен быть определен на момент создания и не может быть изменен позже.
QDomDocument::createAttributeNS()
Смотрите также prefix(), localName() и QDomDocument::createElementNS().
Возвращает следующий соседний элемент в дереве документа. Изменение возвращенного узла приведет и к изменению узла в дереве документа.
Если у вас есть XML:
<h1>Heading</h1> <p>The text...</p> <h2>Next heading</h2>
и текущий QDomNode представляет тег <p>, nextSibling() вернет узел, представляющий тег <h2>.
Смотрите также previousSibling().
Возвращает следующий соседний элемент в дереве документа с именем tagName, если tagName не является пустым; в противном случае возвращается следующий элемент с любым именем. Если таких элементов не существует, возвращается нулевой элемент.
Смотрите также firstChildElement(), previousSiblingElement() и lastChildElement().
Возвращает имя узла.
Значение имени зависит от подкласса:
Имя | Значение |
---|---|
QDomAttr | Имя атрибута |
QDomCDATASection | Строка "#cdata-section" |
QDomComment | Строка "#comment" |
QDomDocument | Строка "#document" |
QDomDocumentFragment | Строка "#document-fragment" |
QDomDocumentType | Имя типа документа |
QDomElement | Имя тега |
QDomEntity | Имя сущности |
QDomEntityReference | Имя сущности, на которою ссылаются |
QDomNotation | Имя нотации |
QDomProcessingInstruction | Цель инструкции обработки |
QDomText | Строка "#text" |
Замечание: Эта функция не учитывает наличия пространств имен при обработке имен узлов элементов и атрибутов. В результате возвращаемое имя может содержать любой префикс пространства имен, который мог быть представлен. Чтобы получить имя элемента или атрибута, используйте localName(); чтобы получить префикс пространства имен, используйте namespaceURI().
Смотрите также nodeValue().
Возвращает тип узла.
Смотрите также toAttr(), toCDATASection(), toDocumentFragment(), toDocument(), toDocumentType(), toElement(), toEntityReference(), toText(), toEntity(), toNotation(), toProcessingInstruction(), toCharacterData() и toComment().
Возвращает значение узла.
Содержание возвращаемого значения зависит от подкласса узла:
Имя | Значение |
---|---|
QDomAttr | Значение атрибута |
QDomCDATASection | Содержание сегмента CDATA |
QDomComment | Комментарий |
QDomProcessingInstruction | Данные инструкции обработки |
QDomText | Текст |
Все остальные подклассы не имеют значения, при вызове этой функции будет возвращена пустая строка.
Смотрите также setNodeValue() и nodeName().
Вызов normalize() для элемента преобразует всех его потомков в стандартную форму. Это означает, что смежные объекты QDomText будут объединены с соседними в один объект (узлы QDomCDATASection не могут быть объединены).
Возвращает документ, которому принадлежит данный узел.
Возвращает узел предка. Если у узла нет предков, возвращается нулевой узел (т.е. узел, для которого функция isNull() возвращает true).
Возвращает префикс пространства имен данного узла или пустую строку, если такового нет.
Только ElementNode или AttributeNode могут работать с пространствами имён. Префикс пространства имен должен быть определен на момент создания. Если узел был создан с префиксом, вы можете изменить его позже с помощью setPrefix().
Если вы создаёте элемент или атрибут с помощью QDomDocument::createElement() или QDomDocument::createAttribute(), префикс будет пустой строкой. Если вы используете QDomDocument::createElementNS() или QDomDocument::createAttributeNS(), префикс не будет пустой строкой; но он может быть пустой строкой, если имя не имеет префикса.
QDomDocument::createElementNS() QDomDocument::createAttributeNS()
Смотрите также setPrefix(), localName() и namespaceURI().
Возвращает предыдущий соседний элемент в дереве документа. Изменение возвращенного узла приведет и к изменению узла в дереве документа.
Например, если у вас есть такой XML:
<h1>Heading</h1> <p>The text...</p> <h2>Next heading</h2>
и текущий QDomNode представляет тег <p>, то previousSibling() вернет узел, представляющий тег <h1>.
Смотрите также nextSibling().
Возвращает предыдущий соседний элемент в дереве документа с именем тега tagName, если tagName не является пустым; в противном случае возвращается предыдущий элемент с любым именем. Если таких элементов не существует, возвращается нулевой элемент.
Смотрите также firstChildElement(), nextSiblingElement() и lastChildElement().
Удаляет oldChild из списка потомков. oldChild должен являться непосредственным потомком текущего узла.
Возвращается ссылка на oldChild при удачной попытке удаления или ссылка на нулевой узел в случае провала.
Смотрите также insertBefore(), insertAfter(), replaceChild() и appendChild().
Замещает oldChild новым newChild. oldChild должен являться непосредственным потомком текущего узла.
Если newChild является потомком другого узла, то его предок изменяется на текущий узел. Если newChild узел является потомком данного узла, изменяется его позиция в списке потомков.
Если newChild является QDomDocumentFragment, тогда oldChild замещается всеми потомками фрагмента.
Возвращает ссылку на oldChild в случае успеха или ссылку на нулевой узел в случае неудачи.
Смотрите также insertBefore(), insertAfter(), removeChild() и appendChild().
Записывает XML-представление узла и всех его потомков в поток str. Эта функция использует indent для определения величины отступа для подэлементов.
Если узел является узлом документа, кодировка потока str устанавливается по инструкции обработки с именем "xml", являющейся XML-декларацией, если таковая определена, в противном случае используется UTF-8. XML-декларация не является, по сути, инструкцией обработки, но её поведение подобно таковой по историческим причинам. Если узел не является узлом документа, используется кодировка потока.
Если документ содержит недопустимые символы XML или символы, которые не могут быть закодированы в данной кодировке, результат будет неопределен.
Это перегруженная функция, предоставленная для удобства.
Если encodingPolicy является QDomNode::EncodingFromDocument, то данная функция работает как save(QTextStream &str, int indent).
Если encodingPolicy является EncodingFromTextStream и текущий узел является узлом документа, то данная функция работает как save(QTextStream &str, int indent) с той только особенностью, что кодировка определяется потоком str.
Если документ содержит недопустимые символы XML или символы, которые не могут быть закодированы в данной кодировке, результат будет неопределен.
Эта функция была введена в Qt 4.2.
Устанавливает значение узла в v.
Смотрите также nodeValue().
Если узел имеет префикс пространства имён, данная функция меняет его на pre. В противном случае функция ничего не делает.
Только ElementNode или AttributeNode могут работать с пространствами имён. Префикс пространства имён должен быть определён во время создания объекта; невозможно добавить префикс позже.
QDomDocument::createElementNS() QDomDocument::createAttributeNS()
Смотрите также prefix(), localName() и namespaceURI().
Преобразует QDomNode в QDomAttr. Если узел не является атрибутом, возвращённый объект будет нулевым.
Смотрите также isAttr().
Преобразует QDomNode в QDomCDATASection. Если узел не является секцией CDATA, возвращённый объект будет нулевым.
Смотрите также isCDATASection().
Преобразует QDomNode в QDomCharacterData. Если узел не является текстовым узлом, возвращённый объект будет нулевым.
Смотрите также isCharacterData().
Преобразует QDomNode в QDomComment. Если узел не является нотацией, возвращённый объект будет нулевым.
Смотрите также isComment().
Преобразует QDomNode в QDomDocument. Если узел не является документом, возвращённый объект будет нулевым.
Смотрите также isDocument().
Преобразует QDomNode в QDomDocumentFragment. Если узел не является фрагментом документа, возвращённый объект будет нулевым.
Смотрите также isDocumentFragment().
Преобразует QDomNode в QDomDocumentType. Если узел не является типом документа, возвращённый объект будет нулевым.
Смотрите также isDocumentType().
Преобразует QDomNode в QDomElement. Если узел не является элементом, возвращённый объект будет нулевым.
Смотрите также isElement().
Преобразует QDomNode в QDomEntity. Если узел не является сущностью, возвращённый объект будет нулевым.
Смотрите также isEntity().
Преобразует QDomNode в QDomEntityReference. Если узел не является ссылкой на сущность, возвращённый объект будет нулевым.
Смотрите также isEntityReference().
Преобразует QDomNode в QDomNotation. Если узел не является нотацией, возвращенный объект будет нулевым.
Смотрите также isNotation().
Преобразует QDomNode в QDomProcessingInstruction. Если узел не является инструкцией обработки, возвращенный объект будет нулевым.
Смотрите также isProcessingInstruction().
Преобразует QDomNode в QDomText. Если узел не является текстовым, возвращенный объект будет нулевым.
Смотрите также isText().
Возвращает true, если узел n не равен текущему; в противном случае возвращает false.
Ассоциирует n с данным узлом DOM.
Данные в копиях общие (поверхностное копирование): изменение одного узла повлечет за собой изменение другого. Если вы хотите использовать глубокое копирование, воспользуйтесь cloneNode().
Возвращает true, если узел n равен текущему; в противном случае возвращает false.
Любой экземпляр класса QDomNode выступает в качестве ссылки на изначальную структуру данных в QDomDocument. Данный тест проверяет, являются ли оба представления ссылками на один и тот же основополагающий узел. Например:
QDomDocument document; QDomElement element1 = document.documentElement(); QDomElement element2 = element1;
Оба узла (QDomElement является подклассом QDomNode) ссылаются на корневой элемент документа, а element1 == element2 вернет true. С другой стороны:
QDomElement element3 = document.createElement("MyElement"); QDomElement element4 = document.createElement("MyElement");
Даже если оба узла являются пустыми элементами с одним именем, element3 == element4 вернет false, так как они ссылаются на два различных узла в изначальной структуре данных.
Это перегруженная функция, предоставленная для удобства.
Записывает XML-представление узла node и всех его потомков в поток str.
Copyright © 2008 Nokia | Торговые марки | Qt 4.4.3 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |