QDomNode Class
La clase QDomNode es la clase base para todos los nodos de un árbol DOM. Más...
| Cabecera: | #include <QDomNode> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Xml)target_link_libraries(mytarget PRIVATE Qt6::Xml) |
| qmake: | QT += xml |
| Heredado por: |
- Lista de todos los miembros, incluyendo los heredados
- QDomNode es parte de Clases XML.
Nota: Todas las funciones de esta clase son reentrantes.
Tipos Públicos
| enum | EncodingPolicy { EncodingFromDocument, EncodingFromTextStream } |
| enum | NodeType { ElementNode, AttributeNode, TextNode, CDATASectionNode, EntityReferenceNode, …, CharacterDataNode } |
Funciones Públicas
| QDomNode() | |
| QDomNode(const QDomNode &node) | |
| ~QDomNode() | |
| QDomNode | appendChild(const QDomNode &newChild) |
| QDomNamedNodeMap | attributes() const |
| QDomNodeList | childNodes() const |
| void | clear() |
| QDomNode | cloneNode(bool deep = true) const |
| int | columnNumber() const |
| QDomNode | firstChild() const |
| QDomElement | firstChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const |
| bool | hasAttributes() const |
| bool | hasChildNodes() const |
| QDomNode | insertAfter(const QDomNode &newChild, const QDomNode &refChild) |
| QDomNode | insertBefore(const QDomNode &newChild, const QDomNode &refChild) |
| bool | isAttr() const |
| bool | isCDATASection() const |
| bool | isCharacterData() const |
| bool | isComment() const |
| bool | isDocument() const |
| bool | isDocumentFragment() const |
| bool | isDocumentType() const |
| bool | isElement() const |
| bool | isEntity() const |
| bool | isEntityReference() const |
| bool | isNotation() const |
| bool | isNull() const |
| bool | isProcessingInstruction() const |
| bool | isSupported(const QString &feature, const QString &version) const |
| bool | isText() const |
| QDomNode | lastChild() const |
| QDomElement | lastChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const |
| int | lineNumber() const |
| QString | localName() const |
| QDomNode | namedItem(const QString &name) const |
| QString | namespaceURI() const |
| QDomNode | nextSibling() const |
| QDomElement | nextSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const |
| QString | nodeName() const |
| QDomNode::NodeType | nodeType() const |
| QString | nodeValue() const |
| void | normalize() |
| QDomDocument | ownerDocument() const |
| QDomNode | parentNode() const |
| QString | prefix() const |
| QDomNode | previousSibling() const |
| QDomElement | previousSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const |
| QDomNode | removeChild(const QDomNode &oldChild) |
| QDomNode | replaceChild(const QDomNode &newChild, const QDomNode &oldChild) |
| void | save(QTextStream &stream, int indent, QDomNode::EncodingPolicy encodingPolicy = QDomNode::EncodingFromDocument) const |
| void | setNodeValue(const QString &value) |
| void | setPrefix(const QString &pre) |
| QDomAttr | toAttr() const |
| QDomCDATASection | toCDATASection() const |
| QDomCharacterData | toCharacterData() const |
| QDomComment | toComment() const |
| QDomDocument | toDocument() const |
| QDomDocumentFragment | toDocumentFragment() const |
| QDomDocumentType | toDocumentType() const |
| QDomElement | toElement() const |
| QDomEntity | toEntity() const |
| QDomEntityReference | toEntityReference() const |
| QDomNotation | toNotation() const |
| QDomProcessingInstruction | toProcessingInstruction() const |
| QDomText | toText() const |
| bool | operator!=(const QDomNode &other) const |
| QDomNode & | operator=(const QDomNode &other) |
| bool | operator==(const QDomNode &other) const |
No Miembros Relacionados
| QTextStream & | operator<<(QTextStream &str, const QDomNode &node) |
Descripción Detallada
Muchas funciones del DOM devuelven un QDomNode.
Puedes averiguar el tipo de un nodo utilizando isAttr(), isCDATASection(), isDocumentFragment(), isDocument(), isDocumentType(), isElement(), isEntityReference(), isText(), isEntity(), isNotation(), isProcessingInstruction(), isCharacterData() y isComment().
Un QDomNode puede convertirse en una de sus subclases mediante toAttr(), toCDATASection(), toDocumentFragment(), toDocument(), toDocumentType(), toElement(), toEntityReference(), toText(), toEntity(), toNotation(), toProcessingInstruction(), toCharacterData() o toComment(). Puede convertir un nodo en nulo con clear().
Las copias de la clase QDomNode comparten sus datos mediante compartición explícita. Esto significa que la modificación de un nodo cambiará todas las copias. Esto es especialmente útil en combinación con funciones que devuelven un QDomNode, por ejemplo firstChild(). Puedes hacer una copia independiente (profunda) del nodo con cloneNode().
Un QDomNode puede ser nulo, al igual que nullptr. La creación de una copia de un nodo nulo da como resultado otro nodo nulo. No es posible modificar un nodo nulo, pero es posible asignarle otro nodo, posiblemente no nulo. En este caso, la copia del nodo nulo seguirá siendo nula. Puedes comprobar si un QDomNode es nulo llamando a isNull(). El constructor vacío de un QDomNode (o de cualquiera de las clases derivadas) crea un nodo nulo.
Los nodos se insertan con insertBefore(), insertAfter() o appendChild(). Puede sustituir un nodo por otro utilizando replaceChild() y eliminar un nodo con removeChild().
Para recorrer nodos se utiliza firstChild() para obtener el primer hijo de un nodo (si lo hay), y nextSibling() para recorrerlo. QDomNode también proporciona lastChild(), previousSibling() y parentNode(). Para encontrar el primer nodo hijo con un nombre de nodo concreto utiliza namedItem().
Para saber si un nodo tiene hijos utiliza hasChildNodes() y para obtener una lista de todos los hijos de un nodo utiliza childNodes().
El nombre y el valor del nodo (cuyo significado varía en función de su tipo) se devuelven con nodeName() y nodeValue() respectivamente. El tipo del nodo se devuelve mediante nodeType(). El valor del nodo puede establecerse con setNodeValue().
El documento al que pertenece el nodo es devuelto por ownerDocument().
Los nodos QDomText adyacentes pueden fusionarse en un único nodo con normalize().
QDomElement Los nodos tienen atributos que pueden recuperarse con attributes().
QDomElement y los nodos QDomAttr pueden tener espacios de nombres que pueden consultarse con namespaceURI(). Su nombre local se obtiene con localName(), y su prefijo con prefix(). El prefijo puede establecerse con setPrefix().
Puede escribir la representación XML del nodo en un flujo de texto con save().
El siguiente ejemplo busca el primer elemento de un documento XML e imprime los nombres de todos los elementos que son sus hijos directos.
QDomDocument d; QString someXML; d.setContent(someXML); QDomNode n = d.firstChild(); while (!n.isNull()) { if (n.isElement()) { QDomElement e = n.toElement(); cout << "Element name: " << qPrintable(e.tagName()) << '\n'; break; } n = n.nextSibling(); }
Para más información sobre el Modelo de Objetos de Documento, véase Núcleo de Nivel 1 y Nivel 2. Para una introducción más general a la implementación del DOM, consulte la documentación de QDomDocument.
Documentación de tipos de miembros
enum QDomNode::EncodingPolicy
Este enum especifica cómo QDomNode::save() determina qué codificación utilizar al serializar.
| Constante | Valor | Descripción |
|---|---|---|
QDomNode::EncodingFromDocument | 1 | La codificación se obtiene del documento. |
QDomNode::EncodingFromTextStream | 2 | La codificación se obtiene de QTextStream. |
Véase también QDomNode::save().
enum QDomNode::NodeType
Este enum define el tipo de nodo:
| Constante | Valor | Descripción |
|---|---|---|
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 | Un objeto QDomNode, es decir, no una subclase de QDomNode. |
QDomNode::CharacterDataNode | 22 |
Documentación de las funciones miembro
QDomNode::QDomNode()
Construye un nodo null.
QDomNode::QDomNode(const QDomNode &node)
Construye una copia de node.
Los datos de la copia son compartidos (copia superficial): si se modifica un nodo, también se modificará el otro. Si quieres hacer una copia profunda, utiliza cloneNode().
[noexcept] QDomNode::~QDomNode()
Destruye el objeto y libera sus recursos.
QDomNode QDomNode::appendChild(const QDomNode &newChild)
Añade newChild como último hijo del nodo.
Si newChild es hijo de otro nodo, se reparentará a este nodo. Si newChild es hijo de este nodo, se modifica su posición en la lista de hijos.
Si newChild es un QDomDocumentFragment, entonces los hijos del fragmento se eliminan del fragmento y se añaden.
Si newChild es un QDomElement y este nodo es un QDomDocument que ya tiene un nodo elemento como hijo, newChild no se añade como hijo y se devuelve un nodo nulo.
Devuelve una nueva referencia a newChild en caso de éxito o un null node en caso de fallo.
Llamar a esta función en un nodo nulo (creado, por ejemplo, con el constructor por defecto) no hace nada y devuelve un null node.
La especificación DOM no permite insertar nodos de atributo, pero por razones históricas, QDom los acepta de todos modos.
Véase también insertBefore(), insertAfter(), replaceChild(), y removeChild().
QDomNamedNodeMap QDomNode::attributes() const
Devuelve un mapa de nodos con nombre de todos los atributos. Los atributos sólo se proporcionan para QDomElements.
Si se cambian los atributos en el mapa, también cambiarán los atributos de este QDomNode.
QDomNodeList QDomNode::childNodes() const
Devuelve una lista de todos los nodos hijos directos.
Lo más habitual es llamar a esta función en un objeto QDomElement.
Por ejemplo, si el documento XML tiene este aspecto:
<body> <h1>Heading</h1> <p>Hello <b>you</b></p> </body>
Entonces la lista de nodos hijos del elemento "body" contendrá el nodo creado por la etiqueta <h1> y el nodo creado por la etiqueta <p>.
Los nodos de la lista no se copian, por lo que al cambiar los nodos de la lista también cambiarán los hijos de este nodo.
Véase también firstChild() y lastChild().
void QDomNode::clear()
Convierte el nodo en un nodo nulo; si antes no era un nodo nulo, se eliminan su tipo y su contenido.
Véase también isNull().
QDomNode QDomNode::cloneNode(bool deep = true) const
Crea una copia profunda (no superficial) de QDomNode.
Si deep es verdadero, la clonación se hace recursivamente, lo que significa que todos los hijos del nodo también se copian en profundidad. Si deep es falso, sólo se copia el propio nodo y la copia no tendrá nodos hijos.
int QDomNode::columnNumber() const
Para los nodos creados por QDomDocument::setContent(), esta función devuelve el número de columna en el documento XML donde se analizó el nodo. En caso contrario, devuelve -1.
Véase también lineNumber() y QDomDocument::setContent().
QDomNode QDomNode::firstChild() const
Devuelve el primer hijo del nodo. Si no hay ningún nodo hijo, se devuelve un null node. Si se modifica el nodo devuelto, también se modificará el nodo en el árbol del documento.
Véase también lastChild() y childNodes().
QDomElement QDomNode::firstChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const
Devuelve el primer elemento hijo con nombre de etiqueta tagName y URI de espacio de nombres namespaceURI. Si tagName está vacío, devuelve el primer elemento hijo con namespaceURI, y si namespaceURI está vacío, devuelve el primer elemento hijo con tagName. Si ambos parámetros están vacíos, devuelve el primer elemento hijo. Si no existe ningún elemento hijo, devuelve un elemento nulo.
Véase también lastChildElement(), previousSiblingElement() y nextSiblingElement().
bool QDomNode::hasAttributes() const
Devuelve true si el nodo tiene atributos; en caso contrario devuelve false.
Véase también attributes().
bool QDomNode::hasChildNodes() const
Devuelve true si el nodo tiene uno o más hijos; en caso contrario devuelve false.
QDomNode QDomNode::insertAfter(const QDomNode &newChild, const QDomNode &refChild)
Inserta el nodo newChild después del nodo hijo refChild. refChild debe ser hijo directo de este nodo. Si refChild es null entonces newChild se añade como último hijo de este nodo.
Si newChild es hijo de otro nodo, se reasigna a este nodo. Si newChild es hijo de este nodo, se cambia su posición en la lista de hijos.
Si newChild es un QDomDocumentFragment, entonces los hijos del fragmento se eliminan del fragmento y se insertan después de refChild.
Devuelve una nueva referencia a newChild en caso de éxito o a null node en caso de fallo.
La especificación DOM no permite insertar nodos de atributo, pero por razones históricas QDom los acepta.
Véase también insertBefore(), replaceChild(), removeChild(), y appendChild().
QDomNode QDomNode::insertBefore(const QDomNode &newChild, const QDomNode &refChild)
Inserta el nodo newChild antes del nodo hijo refChild. refChild debe ser hijo directo de este nodo. Si refChild es null entonces newChild se inserta como primer hijo del nodo.
Si newChild es hijo de otro nodo, se reparentará a este nodo. Si newChild es hijo de este nodo, se cambia su posición en la lista de hijos.
Si newChild es un QDomDocumentFragment, entonces los hijos del fragmento se eliminan del fragmento y se insertan antes de refChild.
Devuelve una nueva referencia a newChild en caso de éxito o a null node en caso de fallo.
La especificación DOM no permite insertar nodos de atributo, pero por razones históricas QDom los acepta.
Véase también insertAfter(), replaceChild(), removeChild(), y appendChild().
bool QDomNode::isAttr() const
Devuelve true si el nodo es un atributo; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomAttribute; puedes obtener el QDomAttribute con toAttribute().
Véase también toAttr().
bool QDomNode::isCDATASection() const
Devuelve true si el nodo es una sección CDATA; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomCDATASection; puede obtener el QDomCDATASection con toCDATASection().
Véase también toCDATASection().
bool QDomNode::isCharacterData() const
Devuelve true si el nodo es un nodo de datos de caracteres; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomCharacterData; puede obtener el QDomCharacterData con toCharacterData().
Véase también toCharacterData().
bool QDomNode::isComment() const
Devuelve true si el nodo es un comentario; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomComment; puede obtener el QDomComment con toComment().
Véase también toComment().
bool QDomNode::isDocument() const
Devuelve true si el nodo es un documento; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomDocument; puede obtener el QDomDocument con toDocument().
Véase también toDocument().
bool QDomNode::isDocumentFragment() const
Devuelve true si el nodo es un fragmento de documento; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomDocumentFragment; puede obtener el QDomDocumentFragment con toDocumentFragment().
Véase también toDocumentFragment().
bool QDomNode::isDocumentType() const
Devuelve true si el nodo es de tipo documento; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomDocumentType; puede obtener el QDomDocumentType con toDocumentType().
Véase también toDocumentType().
bool QDomNode::isElement() const
Devuelve true si el nodo es un elemento; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomElement; puede obtener el QDomElement con toElement().
Véase también toElement().
bool QDomNode::isEntity() const
Devuelve true si el nodo es una entidad; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomEntity; puede obtener el QDomEntity con toEntity().
Véase también toEntity().
bool QDomNode::isEntityReference() const
Devuelve true si el nodo es una referencia de entidad; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomEntityReference; puede obtener el QDomEntityReference con toEntityReference().
Véase también toEntityReference().
bool QDomNode::isNotation() const
Devuelve true si el nodo es una notación; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomNotation; puede obtener el QDomNotation con toNotation().
Véase también toNotation().
bool QDomNode::isNull() const
Devuelve true si este nodo es nulo (es decir, si no tiene tipo ni contenido); en caso contrario, devuelve false.
bool QDomNode::isProcessingInstruction() const
Devuelve true si el nodo es una instrucción de procesamiento; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea una QDomProcessingInstruction; puede obtener la QProcessingInstruction con toProcessingInstruction().
Véase también toProcessingInstruction().
bool QDomNode::isSupported(const QString &feature, const QString &version) const
Devuelve true si la implementación DOM implementa la característica feature y esta característica es soportada por este nodo en la versión version; en caso contrario devuelve false.
Véase también QDomImplementation::hasFeature().
bool QDomNode::isText() const
Devuelve true si el nodo es un nodo de texto; en caso contrario devuelve false.
Si esta función devuelve true, no implica que este objeto sea un QDomText; puede obtener el QDomText con toText().
Véase también toText().
QDomNode QDomNode::lastChild() const
Devuelve el último hijo del nodo. Si no hay ningún nodo hijo, se devuelve un null node. Si se modifica el nodo devuelto, también se modificará el nodo en el árbol del documento.
Véase también firstChild() y childNodes().
QDomElement QDomNode::lastChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const
Devuelve el último elemento hijo con nombre de etiqueta tagName y URI de espacio de nombres namespaceURI. Si tagName está vacío, devuelve el último elemento hijo con namespaceURI, y si namespaceURI está vacío, devuelve el último elemento hijo con tagName. Si ambos parámetros están vacíos, devuelve el último elemento hijo. Si no existe ningún elemento hijo, devuelve un elemento nulo.
Véase también firstChildElement(), previousSiblingElement() y nextSiblingElement().
int QDomNode::lineNumber() const
Para los nodos creados por QDomDocument::setContent(), esta función devuelve el número de línea del documento XML donde se analizó el nodo. En caso contrario, devuelve -1.
Véase también columnNumber() y QDomDocument::setContent().
QString QDomNode::localName() const
Si el nodo utiliza espacios de nombres, esta función devuelve el nombre local del nodo; en caso contrario, devuelve una cadena vacía.
Sólo los nodos de tipo ElementNode o AttributeNode pueden tener espacios de nombres. El espacio de nombres debe haberse especificado en el momento de la creación; no es posible añadir un espacio de nombres posteriormente.
Véase también prefix(), namespaceURI(), QDomDocument::createElementNS() y QDomDocument::createAttributeNS().
QDomNode QDomNode::namedItem(const QString &name) const
Devuelve el primer nodo hijo directo para el que nodeName() es igual a name.
Si no existe tal hijo directo, se devuelve null node.
Véase también nodeName().
QString QDomNode::namespaceURI() const
Devuelve el URI del espacio de nombres de este nodo o una cadena vacía si el nodo no tiene URI de espacio de nombres.
Sólo los nodos de tipo ElementNode o AttributeNode pueden tener espacios de nombres. El URI del espacio de nombres debe especificarse en el momento de la creación y no puede modificarse posteriormente.
Véase también prefix(), localName(), QDomDocument::createElementNS() y QDomDocument::createAttributeNS().
QDomNode QDomNode::nextSibling() const
Devuelve el siguiente hermano en el árbol de documentos. Si cambia el nodo devuelto, también cambiará el nodo en el árbol de documentos.
Si tiene un XML como este
<h1>Heading</h1> <p>The text...</p> <h2>Next heading</h2>
y este QDomNode representa la etiqueta <p>, nextSibling() devolverá el nodo que representa la etiqueta <h2>.
Véase también previousSibling().
QDomElement QDomNode::nextSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const
Devuelve el siguiente elemento hermano con nombre de etiqueta tagName y URI de espacio de nombres namespaceURI. Si tagName está vacío, devuelve el siguiente elemento hermano con namespaceURI, y si namespaceURI está vacío, devuelve el siguiente elemento hermano hijo con tagName. Si ambos parámetros están vacíos, devuelve el siguiente elemento hermano. Si no existe ningún elemento hermano, devuelve un elemento nulo.
Véase también firstChildElement(), previousSiblingElement() y lastChildElement().
QString QDomNode::nodeName() const
Devuelve el nombre del nodo.
El significado del nombre depende de la subclase:
| Nombre | Significado |
|---|---|
| QDomAttr | Nombre del atributo |
| QDomCDATASection | La cadena "#cdata-section" |
| QDomComment | La cadena "#comment" |
| QDomDocument | La cadena "#document" |
| QDomDocumentFragment | La cadena "#documento-fragmento" |
| QDomDocumentType | El nombre del tipo de documento |
| QDomElement | El nombre de la etiqueta |
| QDomEntity | El nombre de la entidad |
| QDomEntityReference | El nombre de la entidad referenciada |
| QDomNotation | El nombre de la notación |
| QDomProcessingInstruction | El objetivo de la instrucción de tratamiento |
| QDomText | La cadena "#texto |
Nota: Esta función no tiene en cuenta la presencia de espacios de nombres al procesar los nombres de los nodos de elementos y atributos. En consecuencia, el nombre devuelto puede contener cualquier prefijo de espacio de nombres que pueda estar presente. Para obtener el nombre de nodo de un elemento o atributo, utilice localName(); para obtener el prefijo del espacio de nombres, utilice namespaceURI().
Véase también nodeValue().
QDomNode::NodeType QDomNode::nodeType() const
Devuelve el tipo del nodo.
Ver también toAttr(), toCDATASection(), toDocumentFragment(), toDocument(), toDocumentType(), toElement(), toEntityReference(), toText(), toEntity(), toNotation(), toProcessingInstruction(), toCharacterData(), y toComment().
QString QDomNode::nodeValue() const
Devuelve el valor del nodo.
El significado del valor depende de la subclase:
| Nombre | Significado |
|---|---|
| QDomAttr | El valor del atributo |
| QDomCDATASection | El contenido de la sección CDATA |
| QDomComment | El comentario |
| QDomProcessingInstruction | Los datos de la instrucción de tratamiento |
| QDomText | El texto |
Todas las demás subclases no tienen valor de nodo y devolverán una cadena vacía.
Véase también setNodeValue() y nodeName().
void QDomNode::normalize()
Llamar a normalize() sobre un elemento convierte a todos sus hijos en una forma estándar. Esto significa que los objetos QDomText adyacentes se fusionarán en un único objeto de texto (los nodosQDomCDATASection no se fusionan).
QDomDocument QDomNode::ownerDocument() const
Devuelve el documento al que pertenece este nodo.
QDomNode QDomNode::parentNode() const
Devuelve el nodo padre. Si este nodo no tiene padre, se devuelve un nodo nulo (es decir, un nodo para el que isNull() devuelve true).
QString QDomNode::prefix() const
Devuelve el prefijo del espacio de nombres del nodo o una cadena vacía si el nodo no tiene prefijo de espacio de nombres.
Sólo los nodos de tipo ElementNode o AttributeNode pueden tener espacios de nombres. Debe especificarse un prefijo de espacio de nombres en el momento de la creación. Si un nodo se creó con un prefijo de espacio de nombres, puede cambiarlo posteriormente con setPrefix().
Si crea un elemento o atributo con QDomDocument::createElement() o QDomDocument::createAttribute(), el prefijo será una cadena vacía. Si utiliza QDomDocument::createElementNS() o QDomDocument::createAttributeNS() en su lugar, el prefijo no será una cadena vacía; pero podría ser una cadena vacía si el nombre no tiene prefijo.
Véase también setPrefix(), localName(), namespaceURI(), QDomDocument::createElementNS() y QDomDocument::createAttributeNS().
QDomNode QDomNode::previousSibling() const
Devuelve el nodo hermano anterior en el árbol de documentos. Si cambia el nodo devuelto, también cambiará el nodo en el árbol de documentos.
Por ejemplo, si tiene un XML como este
<h1>Heading</h1> <p>The text...</p> <h2>Next heading</h2>
y este QDomNode representa la etiqueta <p>, previousSibling() devolverá el nodo que representa la etiqueta <h1>.
Véase también nextSibling().
QDomElement QDomNode::previousSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const
Devuelve el elemento hermano anterior con nombre de etiqueta tagName y URI de espacio de nombres namespaceURI. Si tagName está vacío, devuelve el elemento hermano anterior con namespaceURI, y si namespaceURI está vacío, devuelve el elemento hermano anterior con tagName. Si ambos parámetros están vacíos, devuelve el elemento hermano anterior. Si no existe ningún elemento hermano, devuelve un elemento nulo.
Véase también firstChildElement(), nextSiblingElement() y lastChildElement().
QDomNode QDomNode::removeChild(const QDomNode &oldChild)
Elimina oldChild de la lista de hijos. oldChild debe ser hijo directo de este nodo.
Devuelve una nueva referencia a oldChild en caso de éxito o un null node en caso de fallo.
Véase también insertBefore(), insertAfter(), replaceChild() y appendChild().
QDomNode QDomNode::replaceChild(const QDomNode &newChild, const QDomNode &oldChild)
Sustituye oldChild por newChild. oldChild debe ser hijo directo de este nodo.
Si newChild es hijo de otro nodo, se reasigna a este nodo. Si newChild es hijo de este nodo, se cambia su posición en la lista de hijos.
Si newChild es un QDomDocumentFragment, entonces oldChild es reemplazado por todos los hijos del fragmento.
Devuelve una nueva referencia a oldChild en caso de éxito o un null node en caso de fallo.
Véase también insertBefore(), insertAfter(), removeChild() y appendChild().
void QDomNode::save(QTextStream &stream, int indent, QDomNode::EncodingPolicy encodingPolicy = QDomNode::EncodingFromDocument) const
Escribe la representación XML del nodo y todos sus hijos en el flujo stream. Esta función utiliza indent como cantidad de espacio para sangrar el nodo.
Si el documento contiene caracteres XML no válidos o caracteres que no pueden codificarse en la codificación dada, el resultado y el comportamiento son indefinidos.
Si encodingPolicy es QDomNode::EncodingFromDocument y este nodo es un nodo de documento, la codificación del flujo de texto stream's encoding se establece tratando una instrucción de procesamiento de nombre "xml" como una declaración XML, si existe, y de lo contrario por defecto a UTF-8. Las declaraciones XML no son instrucciones de procesamiento, pero este comportamiento existe por razones históricas. Si este nodo no es un nodo de documento, se utiliza la codificación del flujo de texto.
Si encodingPolicy es EncodingFromTextStream y este nodo es un nodo documento, esta función se comporta como save(QTextStream &str, int indent) con la excepción de que se utiliza la codificación especificada en el flujo de texto stream.
Si el documento contiene caracteres XML no válidos o caracteres que no pueden codificarse en la codificación dada, el resultado y el comportamiento son indefinidos.
void QDomNode::setNodeValue(const QString &value)
Establece el valor del nodo en value.
Véase también nodeValue().
void QDomNode::setPrefix(const QString &pre)
Si el nodo tiene un prefijo de espacio de nombres, esta función cambia el prefijo de espacio de nombres del nodo a pre. En caso contrario, esta función no hace nada.
Sólo los nodos de tipo ElementNode o AttributeNode pueden tener espacios de nombres. Debe especificarse un prefijo de espacio de nombres en el momento de la creación; no es posible añadir un prefijo de espacio de nombres posteriormente.
Véase también prefix(), localName(), namespaceURI(), QDomDocument::createElementNS() y QDomDocument::createAttributeNS().
QDomAttr QDomNode::toAttr() const
Convierte un QDomNode en un QDomAttr. Si el nodo no es un atributo, el objeto devuelto será null.
Véase también isAttr().
QDomCDATASection QDomNode::toCDATASection() const
Convierte un QDomNode en un QDomCDATASection. Si el nodo no es una sección CDATA, el objeto devuelto será null.
Véase también isCDATASection().
QDomCharacterData QDomNode::toCharacterData() const
Convierte un QDomNode en un QDomCharacterData. Si el nodo no es un nodo de datos de caracteres, el objeto devuelto será null.
Véase también isCharacterData().
QDomComment QDomNode::toComment() const
Convierte un QDomNode en un QDomComment. Si el nodo no es un comentario el objeto devuelto será null.
Véase también isComment().
QDomDocument QDomNode::toDocument() const
Convierte un QDomNode en un QDomDocument. Si el nodo no es un documento, el objeto devuelto será null.
Véase también isDocument().
QDomDocumentFragment QDomNode::toDocumentFragment() const
Convierte un QDomNode en un QDomDocumentFragment. Si el nodo no es un fragmento de documento, el objeto devuelto será null.
Véase también isDocumentFragment().
QDomDocumentType QDomNode::toDocumentType() const
Convierte un QDomNode en un QDomDocumentType. Si el nodo no es de tipo documento el objeto devuelto será null.
Véase también isDocumentType().
QDomElement QDomNode::toElement() const
Convierte un QDomNode en un QDomElement. Si el nodo no es un elemento, el objeto devuelto será null.
Véase también isElement().
QDomEntity QDomNode::toEntity() const
Convierte un QDomNode en un QDomEntity. Si el nodo no es una entidad el objeto devuelto será null.
Véase también isEntity().
QDomEntityReference QDomNode::toEntityReference() const
Convierte un QDomNode en un QDomEntityReference. Si el nodo no es una referencia de entidad, el objeto devuelto será null.
Véase también isEntityReference().
QDomNotation QDomNode::toNotation() const
Convierte un QDomNode en un QDomNotation. Si el nodo no es una notación el objeto devuelto será null.
Véase también isNotation().
QDomProcessingInstruction QDomNode::toProcessingInstruction() const
Convierte un QDomNode en un QDomProcessingInstruction. Si el nodo no es una instrucción de proceso, el objeto devuelto será null.
Véase también isProcessingInstruction().
QDomText QDomNode::toText() const
Convierte un QDomNode en un QDomText. Si el nodo no es un texto, el objeto devuelto será null.
Véase también isText().
bool QDomNode::operator!=(const QDomNode &other) const
Devuelve true si other y este nodo DOM no son iguales; en caso contrario devuelve false.
QDomNode &QDomNode::operator=(const QDomNode &other)
Asigna una copia de other a este nodo DOM.
Los datos de la copia son compartidos (copia superficial): si se modifica un nodo, también se modificará el otro. Si quieres hacer una copia profunda, utiliza cloneNode().
bool QDomNode::operator==(const QDomNode &other) const
Devuelve true si other y este nodo DOM son iguales; en caso contrario devuelve false.
Cualquier instancia de QDomNode actúa como referencia a una estructura de datos subyacente en QDomDocument. La prueba de igualdad comprueba si las dos referencias apuntan al mismo nodo subyacente. Por ejemplo:
QDomDocument document; QDomElement element1 = document.documentElement(); QDomElement element2 = element1;
Los dos nodos (QDomElement es una subclase de QDomNode ) se refieren ambos al elemento raíz del documento, y element1 == element2 devolverá verdadero. Por otro lado:
QDomElement element3 = document.createElement("MyElement"); QDomElement element4 = document.createElement("MyElement");
Aunque ambos nodos sean elementos vacíos con el mismo nombre, element3 == element4 devolverá falso porque se refieren a dos nodos diferentes de la estructura de datos subyacente.
No miembros relacionados
QTextStream &operator<<(QTextStream &str, const QDomNode &node)
Escribe la representación XML del nodo node y todos sus hijos en el flujo str.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.