QDomNode - The base class for all nodes of the DOM tree
#include <qdom.h>
Inherited by QDomAttr, QDomCharacterData, QDomDocument,
QDomDocumentFragment, QDomDocumentType, QDomElement,
QDomEntity, QDomEntityReference, QDomNotation and
QDomProcessingInstruction.
Public Members
enum NodeType { BaseNode = 0, ElementNode = 1,
AttributeNode = 2, TextNode = 3, CDATASectionNode = 4,
EntityReferenceNode = 5, EntityNode = 6,
ProcessingInstructionNode = 7, CommentNode = 8,
DocumentNode = 9, DocumentTypeNode = 10,
DocumentFragmentNode = 11, NotationNode = 12,
CharacterDataNode = 13 }
QDomNode ()
QDomNode ( const QDomNode & )
QDomNode& operator= ( const QDomNode & )
bool operator== ( const QDomNode & ) const
bool operator!= ( const QDomNode & ) const
virtual ~QDomNode ()
virtual QString nodeName () const
virtual QString nodeValue () const
virtual void setNodeValue ( const QString & )
virtual QDomNode::NodeType nodeType () const
virtual QDomNode parentNode () const
virtual QDomNodeList childNodes () const
virtual QDomNode firstChild () const
virtual QDomNode lastChild () const
virtual QDomNode previousSibling () const
virtual QDomNode nextSibling () const
virtual QDomNamedNodeMap attributes () const
virtual QDomDocument ownerDocument () const
virtual QDomNode insertBefore ( const QDomNode & newChild,
const QDomNode & refChild )
virtual QDomNode insertAfter ( const QDomNode & newChild,
const QDomNode & refChild )
virtual QDomNode replaceChild ( const QDomNode & newChild,
const QDomNode & oldChild )
virtual QDomNode removeChild ( const QDomNode & oldChild )
virtual QDomNode appendChild ( const QDomNode & newChild )
virtual QDomNode cloneNode ( bool deep = TRUE ) const
virtual bool isAttr () const
virtual bool isCDATASection () const
virtual bool isDocumentFragment () const
virtual bool isDocument () const
virtual bool isDocumentType () const
virtual bool isElement () const
virtual bool isEntityReference () const
virtual bool isText () const
virtual bool isNotation () const
virtual bool isProcessingInstruction () const
virtual bool isCharacterData () const
virtual bool isComment () const
QDomNode namedItem ( const QString & name ) const
bool isNull () const
void clear ()
QDomAttr toAttr ()
QDomCDATASection toCDATASection ()
QDomDocumentFragment toDocumentFragment ()
QDomDocument toDocument ()
QDomDocumentType toDocumentType ()
QDomElement toElement ()
QDomEntityReference toEntityReference ()
QDomText toText ()
QDomEntity toEntity ()
QDomNotation toNotation ()
QDomProcessingInstruction toProcessingInstruction ()
QDomCharacterData toCharacterData ()
QDomComment toComment ()
void save ( QTextStream &, int ) const
Protected Members
QDomNode ( QDOM_NodePrivate * ) (internal)
DESCRIPTION
The QDomNode class is the base class for all nodes of the
DOM tree.
This class is the base class for almost all other classes
in the DOM. Many functions in the DOM return a QDomNode.
The various isXxx() functions are useful to find out the
type of the node. A QDomNode can be converted to a
subclass by using the toXxx() function family.
Copies of the QDomNode class share their data; this means
modifying one will change all copies. This is especially
useful in combination with functions which return a
QDomNode, e.g. firstChild(). You can make an independent
copy of the node with cloneNode().
The following example looks for the first element in an
XML document and prints its name:
QDomDocument d;
d.setContent( someXML );
QDomNode n = d.firstChild();
while ( !n.isNull() ) {
if ( n.isElement ) {
QDomElement e = n.toElement();
cout << "The name of the element is " << e.tagName() << endl;
return;
}
}
cout << "no element in the Document" << endl;
For further information about the Document Objct Model see
http://www.w3.org/TR/REC-DOM-Level-1/. For a more general
introduction of the DOM implementation see the
QDomDocument documentation.
MEMBER FUNCTION DOCUMENTATION
QDomNode::QDomNode ()
Constructs an empty node.
QDomNode::QDomNode ( const QDomNode & n )
Copy constructor.
The data of the copy is shared: modifying one will also
change the other. If you want to make a real copy, use
cloneNode() instead.
QDomNode::~QDomNode () [virtual]
Destructor.
QDomNode QDomNode::appendChild ( const QDomNode & newChild )
[virtual]
Appends newChild to the end of the children list.
If newChild is currently child of another parent, then it
is reparented. If newChild is currently a child of this
QDomNode, then its position in the list of children is
changed.
Returns a new reference to newChild.
See also insertBefore(), insertAfter(), replaceChild() and
removeChild().
QDomNamedNodeMap QDomNode::attributes () const [virtual]
Returns a map of all attributes. Attributes are only
provided for QDomElement.
Changing the attributes in the map will also change the
attributes of this QDomNode.
Reimplemented in QDomElement.
QDomNodeList QDomNode::childNodes () const [virtual]
Returns a list of all child nodes.
Most often you will call this function on a QDomElement
object. If the XML document looks like this:
<body>
<h1>Heading</h1>
</body>
Then the list of child nodes for the "body"-element will
contain the node created by the <h1> tag and the node
created by the <p> tag.
The nodes in the list are not copied; so changing the
nodes in the list will also change the children of this
node.
See also firstChild() and lastChild().
void QDomNode::clear ()
Dereferences the internal object. The node is then a null
node.
See also isNull().
QDomNode QDomNode::cloneNode ( bool deep = TRUE ) const [virtual]
Creates a real copy of the QDomNode.
If deep is TRUE, then the cloning is done recursive. That
means all children are copied, too. Otherwise the cloned
node does not contain child nodes.
QDomNode QDomNode::firstChild () const [virtual]
Returns the first child of the node. If there is no child
node, a null node is returned.
See also lastChild() and childNodes().
QDomNode QDomNode::insertAfter ( const QDomNode & newChild, const
QDomNode & refChild ) [virtual]
Inserts the node newChild after the child node refChild.
refChild has to be a direct child of this node. If
refChild is null then newChild is appended as last child.
If newChild is currently child of another parent, then it
is reparented. If newChild is currently a child of this
QDomNode, then its position in the list of children is
changed.
If newChild is a QDomDocumentFragment, then the children
of the fragment are removed from the fragment and inserted
after refChild.
Returns a new reference to newChild on success or an empty
node on failure.
See also insertBefore(), replaceChild(), removeChild() and
appendChild().
const QDomNode & refChild ) [virtual]
Inserts the node newChild before the child node refChild.
refChild has to be a direct child of this node. If
refChild is null then newChild is inserted as first child.
If newChild is currently child of another parent, then it
is reparented. If newChild is currently a child of this
QDomNode, then its position in the list of children is
changed.
If newChild is a QDomDocumentFragment, then the children
of the fragment are removed from the fragment and inserted
after refChild.
Returns a new reference to newChild on success or an empty
node on failure.
See also insertAfter(), replaceChild(), removeChild() and
appendChild().
bool QDomNode::isAttr () const [virtual]
Returns TRUE if the node is an attribute, otherwise FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomAttribute; you can get the
QDomAttribute with toAttribute().
See also toAttribute().
Reimplemented in QDomAttr.
bool QDomNode::isCDATASection () const [virtual]
Returns TRUE if the node is a CDATA section, otherwise
FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomCDATASection; you can get the
QDomCDATASection with toCDATASection().
See also toCDATASection().
Reimplemented in QDomCDATASection.
bool QDomNode::isCharacterData () const [virtual]
Returns TRUE if the node is a character data node,
otherwise FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomCharacterData; you can get the
QDomCharacterData with toCharacterData().
See also toCharacterData().
bool QDomNode::isComment () const [virtual]
Returns TRUE if the node is a comment, otherwise FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomComment; you can get the QDomComment
with toComment().
See also toComment().
Reimplemented in QDomComment.
bool QDomNode::isDocument () const [virtual]
Returns TRUE if the node is a document, otherwise FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomDocument; you can get the
QDomDocument with toDocument().
See also toDocument().
Reimplemented in QDomDocument.
bool QDomNode::isDocumentFragment () const [virtual]
Returns TRUE if the node is a document fragment, otherwise
FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomDocumentFragment; you can get the
QDomDocumentFragment with toDocumentFragment().
See also toDocumentFragment().
Reimplemented in QDomDocumentFragment.
bool QDomNode::isDocumentType () const [virtual]
Returns TRUE if the node is a document type, otherwise
FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomDocumentType; you can get the
QDomDocumentType with toDocumentType().
See also toDocumentType().
Reimplemented in QDomDocumentType.
bool QDomNode::isElement () const [virtual]
Returns TRUE if the node is an element, otherwise FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomElement; you can get the QDomElement
with toElement().
Reimplemented in QDomElement.
bool QDomNode::isEntity () const [virtual]
Returns TRUE if the node is an entity, otherwise FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomEntity; you can get the QDomEntity
with toEntity().
See also toEntity().
Reimplemented in QDomEntity.
bool QDomNode::isEntityReference () const [virtual]
Returns TRUE if the node is an entity reference, otherwise
FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomEntityReference; you can get the
QDomEntityReference with toEntityReference().
See also toEntityReference().
Reimplemented in QDomEntityReference.
bool QDomNode::isNotation () const [virtual]
Returns TRUE if the node is a notation, otherwise FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomNotation; you can get the
QDomNotation with toNotation().
See also toNotation().
Reimplemented in QDomNotation.
bool QDomNode::isNull () const
Returns TRUE if this node does not reference any internal
object, otherwise FALSE.
bool QDomNode::isProcessingInstruction () const [virtual]
Returns TRUE if the node is a processing instruction,
otherwise FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomProcessingInstruction; you can get
the QProcessingInstruction with toProcessingInstruction().
See also toProcessingInstruction().
Reimplemented in QDomProcessingInstruction.
Returns TRUE if the node is a text, otherwise FALSE.
If this function returns TRUE, this does not imply that
this object is a QDomText; you can get the QDomText with
toText().
See also toText().
Reimplemented in QDomText.
QDomNode QDomNode::lastChild () const [virtual]
Returns the last child of the node. If there is no child
node then a null node is returned.
See also firstChild() and childNodes().
QDomNode QDomNode::namedItem ( const QString & name ) const
Returns the first child node for which nodeName() equals
name.
If no such direct child exists, a null node is returned.
See also nodeName().
QDomNode QDomNode::nextSibling () const [virtual]
Returns the next sibling in the document tree. Changing
the returned node will also change the node in the
document tree.
If you have XML like this:
<h1>Heading</h1>
<p>The text...</p>
<h2>Next heading</h2>
and this QDomNode represents the <p> tag, the nextSibling
will return the node representing the <h2> tag.
See also previousSibling().
QString QDomNode::nodeName () const [virtual]
Returns the name of the node.
The meaning of the name depends on the subclass:
QDomElement - the tag name
QDomAttr - the name of the attribute
QDomText - the string "#text"
QDomCDATASection - the string "#cdata-section"
QDomEntity - the name of the entity
QDomProcessingInstruction - the target of the processing
instruction
QDomDocument - the string "#document"
QDomComment - the string "#comment"
QDomDocumentType - the name of the document type
QDomDocumentFragment - the string "#document-fragment"
QDomNotation - the name of the notation
See also nodeValue().
QDomNode::NodeType QDomNode::nodeType() const [virtual]
Returns the type of the node.
See also toAttr(), toCDATASection(), toDocumentFragment(),
toDocument(), toDocumentType(), toElement(),
toEntityReference(), toText(), toEntity(), toNotation(),
toProcessingInstruction(), toCharacterData() and
toComment().
Reimplemented in QDomDocumentFragment, QDomElement,
QDomDocumentType, QDomProcessingInstruction, QDomEntity,
QDomDocument, QDomComment, QDomText, QDomCharacterData,
QDomCDATASection, QDomAttr, QDomNotation and
QDomEntityReference.
QString QDomNode::nodeValue () const [virtual]
Returns the value of the node.
The meaning of the value depends on the subclass:
QDomAttr - the attribute value
QDomText - the text
QDomCDATASection - the content of the CDATA section
QDomProcessingInstruction - the data of the processing
intruction
QDomComment - the comment
All other subclasses not listed above do not have a node
value. These classes will return a null string.
See also setNodeValue() and nodeName().
Returns TRUE if the two nodes are not equal, otherwise
FALSE.
QDomNode& QDomNode::operator= ( const QDomNode & n )
Assignment operator.
The data of the copy is shared: modifying one will also
change the other. If you want to make a real copy, use
cloneNode() instead.
bool QDomNode::operator== ( const QDomNode & n ) const
Returns TRUE if the two nodes are equal, otherwise FALSE.
QDomDocument QDomNode::ownerDocument () const [virtual]
Returns the document to which this node belongs.
QDomNode QDomNode::parentNode () const [virtual]
Returns the parent node, If this node has no parent, then
a null node is returned (i.e. a node for which isNull()
returns TRUE).
QDomNode QDomNode::previousSibling () const [virtual]
Returns the previous sibling in the document tree.
Changing the returned node will also change the node in
the document tree.
If you have XML like this:
<h1>Heading</h1>
<p>The text...</p>
<h2>Next heading</h2>
and this QDomNode represents the <p> tag, the
previousSibling will return the node representing the <h1>
tag.
See also nextSibling().
QDomNode QDomNode::removeChild ( const QDomNode & oldChild )
[virtual]
Removes oldChild from the list of children. oldChild has
to be a direct child of this node.
Returns a new reference to oldChild on success or a null
node on failure.
See also insertBefore(), insertAfter(), replaceChild() and
appendChild().
QDomNode QDomNode::replaceChild ( const QDomNode & newChild,
const QDomNode & oldChild ) [virtual]
Replaces oldChild with newChild. oldChild has to be a
direct child of this node.
is reparented. If newChild is currently a child of this
QDomNode, then its position in the list of children is
changed.
If newChild is a QDomDocumentFragment, then the children
of the fragment are removed from the fragment and inserted
after refChild.
Returns a new reference to oldChild on success or a null
node an failure.
See also insertBefore(), insertAfter(), removeChild() and
appendChild().
void QDomNode::save ( QTextStream & str, int indent ) const
Writes the XML representation of the node including all
its children on the stream.
void QDomNode::setNodeValue ( const QString & v ) [virtual]
Sets the value of the node to v.
See also nodeValue().
QDomAttr QDomNode::toAttr ()
Converts a QDomNode into a QDomAttr. If the node is not an
attribute, the returned object will be null.
See also isAttr().
QDomCDATASection QDomNode::toCDATASection ()
Converts a QDomNode into a QDomCDATASection. If the node
is not a CDATA section, the returned object will be null.
See also isCDATASection().
QDomCharacterData QDomNode::toCharacterData ()
Converts a QDomNode into a QDomCharacterData. If the node
is not a character data node the returned object will be
null.
See also isCharacterData().
QDomComment QDomNode::toComment ()
Converts a QDomNode into a QDomComment. If the node is not
a comment the returned object will be null.
See also isComment().
QDomDocument QDomNode::toDocument ()
Converts a QDomNode into a QDomDocument. If the node is
not a document the returned object will be null.
See also isDocument().
Converts a QDomNode into a QDomDocumentFragment. If the
node is not a document fragment the returned object will
be null.
See also isDocumentFragment().
QDomDocumentType QDomNode::toDocumentType ()
Converts a QDomNode into a QDomDocumentType. If the node
is not a document type the returned object will be null.
See also isDocumentType().
QDomElement QDomNode::toElement ()
Converts a QDomNode into a QDomElement. If the node is not
an element the returned object will be null.
See also isElement().
QDomEntity QDomNode::toEntity ()
Converts a QDomNode into a QDomEntity. If the node is not
an entity the returned object will be null.
See also isEntity().
QDomEntityReference QDomNode::toEntityReference ()
Converts a QDomNode into a QDomEntityReference. If the
node is not an entity reference, the returned object will
be null.
See also isEntityReference().
QDomNotation QDomNode::toNotation ()
Converts a QDomNode into a QDomNotation. If the node is
not a notation the returned object will be null.
See also isNotation().
QDomProcessingInstruction QDomNode::toProcessingInstruction ()
Converts a QDomNode into a QDomProcessingInstruction. If
the node is not a processing instruction the returned
object will be null.
See also isProcessingInstruction().
QDomText QDomNode::toText ()
Converts a QDomNode into a QDomText. If the node is not a
text, the returned object will be null.
See also isText().
QDomNode::QDomNode ( QDOM_NodePrivate * n ) [protected]
For internal use only.
http://doc.trolltech.com/qdomnode.html
http://www.trolltech.com/faq/tech.html
COPYRIGHT
Copyright 1992-2001 Trolltech AS,
http://www.trolltech.com. See the license file included
in the distribution for a complete license statement.
AUTHOR
Generated automatically from the source code.
BUGS
If you find a bug in Qt, please report it as described in
http://doc.trolltech.com/bughowto.html. Good bug reports
make our job much simpler. Thank you.
In case of content or formattting problems with this
manual page, please report them to qt-bugs@trolltech.com.
Please include the name of the manual page (qdomnode.3qt)
and the Qt version (2.3.1).
Man(1) output converted with
man2html