이 페이지에서

QDomElement Class

QDomElement 클래스는 DOM 트리 내의 하나의 요소를 나타냅니다. 더 보기...

헤더: #include <QDomElement>
CMake: find_package(Qt6 REQUIRED COMPONENTS Xml)
target_link_libraries(mytarget PRIVATE Qt6::Xml)
qmake: QT += xml
상속: QDomNode

참고: 이 클래스의 모든 함수는 재진입 가능합니다.

공개 함수

QDomElement()
QDomElement(const QDomElement &element)
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, double value)
void setAttribute(const QString &name, float value)
void setAttribute(const QString &name, int value)
void setAttribute(const QString &name, qlonglong value)
void setAttribute(const QString &name, qulonglong value)
void setAttribute(const QString &name, uint value)
void setAttributeNS(const QString &nsURI, const QString &qName, const QString &value)
void setAttributeNS(const QString &nsURI, const QString &qName, double value)
void setAttributeNS(const QString &nsURI, const QString &qName, int 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, uint 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 &other)

상세 설명

요소에는 tagName()와 0개 이상의 속성이 연관되어 있습니다. 태그 이름은 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();
}

각 노드를 텍스트 노드로 변환하려고 시도하며, firstChild() 대신 text()을 사용한다는 점에 유의하십시오. 노드가 텍스트 요소가 아닐 수 있으므로, 노드에 직접toText().data() 또는 n.toText().data()를 호출해서는 안 됩니다.

elementsByTagName() 또는 elementsByTagNameNS()을 사용하여 지정된 태그 이름을 가진 요소의 모든 자손 목록을 얻을 수 있습니다.

DOM 문서의 요소를 탐색하려면 firstChildElement(), lastChildElement(), nextSiblingElement() 및 previousSiblingElement()를 사용합니다. 예를 들어, "database"라는 루트 요소 내에 있는 "entry"라는 이름의 모든 자식 요소를 순회하려면 다음을 사용할 수 있습니다:

QDomDocument doc = // ...
QDomElement root = doc.firstChildElement("database");
QDomElement elt = root.firstChildElement("entry");
for (; !elt.isNull(); elt = elt.nextSiblingElement("entry")) {
    // ...
}

문서 객체 모델(DOM)에 대한 자세한 내용은 레벨 1 및 레벨 2 코어를 참조하십시오. DOM 구현에 대한 보다 일반적인 소개는 QDomDocument 문서를 참조하십시오.

멤버 함수 문서

QDomElement::QDomElement()

빈 요소를 생성합니다. 내용이 포함된 요소를 생성하려면 ` QDomDocument::createElement()` 함수를 사용하십시오.

QDomElement::QDomElement(const QDomElement &element)

element 의 복사본을 생성합니다.

복사본의 데이터는 공유됩니다(얕은 복사): 한 노드를 수정하면 다른 노드도 변경됩니다. 깊은 복사를 하려면 ` 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)

name 라는 속성에 해당하는 QDomAttr 객체를 반환합니다. 해당 속성이 존재하지 않으면 null attribute 가 반환됩니다.

setAttributeNode(), attribute(), setAttribute() 및 attributeNodeNS()도 참조하십시오 .

QDomAttr QDomElement::attributeNodeNS(const QString &nsURI, const QString &localName)

로컬 이름이 localName 이고 네임스페이스 URI가 nsURI 인 속성에 해당하는 QDomAttr 객체를 반환합니다. 해당 속성이 존재하지 않으면 null attribute 가 반환됩니다.

setAttributeNodeNS(), setAttributeNode(), attribute() 및 setAttribute()도 참조하십시오 .

QDomNamedNodeMap QDomElement::attributes() const

이 요소의 모든 속성을 포함하는 ` QDomNamedNodeMap ` 객체를 반환합니다.

attribute(), setAttribute(), attributeNode(), setAttributeNode()도 참조하십시오 .

QDomNodeList QDomElement::elementsByTagName(const QString &tagname) const

이 요소를 루트로 하는 요소 하위 트리에 대해 선순회(preorder traversal)를 수행하는 과정에서 발견된, tagname 라는 이름을 가진 이 요소의 모든 하위 노드를 포함하는 ` QDomNodeList `를 반환합니다. 반환된 목록 내 요소들의 순서는 선순회 과정에서 발견된 순서와 동일합니다.

elementsByTagNameNS() 및 QDomDocument::elementsByTagName()도 참조하십시오 .

QDomNodeList QDomElement::elementsByTagNameNS(const QString &nsURI, const QString &localName) const

이 요소를 루트로 하는 요소 하위 트리에 대해 선순회(preorder traversal)를 수행하는 과정에서 발견된, 로컬 이름이 localName 이고 네임스페이스 URI가 nsURI 인 이 요소의 모든 하위 요소를 포함하는 ` QDomNodeList ` 객체를 반환합니다. 반환된 목록에 포함된 요소들의 순서는 선순회 과정에서 발견된 순서와 동일합니다.

elementsByTagName() 및 QDomDocument::elementsByTagNameNS()도 참조하십시오 .

bool QDomElement::hasAttribute(const QString &name) const

이 요소에 name 라는 속성이 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

참고: 이 함수는 네임스페이스의 존재 여부를 고려하지 않습니다. 따라서 지정된 이름은 존재할 수 있는 모든 네임스페이스 접두사를 포함하는 완전 한정된 속성 이름에 대해 검사됩니다.

특정 네임스페이스와 이름을 가진 속성을 명시적으로 검사하려면 ` hasAttributeNS()`를 사용하십시오.

bool QDomElement::hasAttributeNS(const QString &nsURI, const QString &localName) const

이 요소에 로컬 이름이 localName 이고 네임스페이스 URI가 nsURI 인 속성이 있는 경우 true 를 반환하고, 그렇지 않은 경우 false를 반환합니다.

QDomNode::NodeType QDomElement::nodeType() const

ElementNode 를 반환합니다.

void QDomElement::removeAttribute(const QString &name)

이 요소에서 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, double value)

서식 지정에는 항상 QLocale::C 가 사용됩니다.

이는 오버로드된 함수입니다.

void QDomElement::setAttribute(const QString &name, float value)

서식 지정에는 항상 QLocale::C 가 사용됩니다.

이는 오버로드된 함수입니다.

void QDomElement::setAttribute(const QString &name, int value)

서식 지정은 항상 QLocale::C 를 사용합니다.

이는 오버로드된 함수입니다.

void QDomElement::setAttribute(const QString &name, qlonglong value)

서식 지정에는 항상 QLocale::C 가 사용됩니다.

이는 오버로드된 함수입니다.

void QDomElement::setAttribute(const QString &name, qulonglong value)

서식 지정에는 항상 QLocale::C 가 사용됩니다.

이는 중복 정의된 함수입니다.

void QDomElement::setAttribute(const QString &name, uint value)

서식 지정에는 항상 QLocale::C 가 사용됩니다.

이는 오버로드된 함수입니다.

void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, const QString &value)

qName 라는 정규화된 이름과 nsURI 라는 네임스페이스 URI를 가진 속성을 value 값으로 추가합니다. 동일한 로컬 이름과 네임스페이스 URI를 가진 속성이 이미 존재하는 경우, 해당 속성의 접두사는 qName 로 대체되고 값은 value 로 대체됩니다.

qName 가 정격 이름이지만, 기존 속성의 값을 대체할지 여부를 결정할 때는 로컬 이름이 사용됩니다.

attributeNS(), setAttributeNodeNS() 및 setAttribute()도 참조하십시오 .

void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, double value)

이것은 오버로드된 함수입니다.

void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, int 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, uint value)

이것은 오버로드된 함수입니다.

QDomAttr QDomElement::setAttributeNode(const QDomAttr &newAttr)

이 요소에 newAttr 속성을 추가합니다.

해당 요소에 ` newAttr`와 이름이 동일한 다른 속성이 있는 경우, 이 함수는 해당 속성을 대체하고 그 값을 반환합니다. 그렇지 않은 경우, 이 함수는 ` null attribute`를 반환합니다.

attributeNode(), setAttribute(), setAttributeNodeNS()도 참조하십시오 .

QDomAttr QDomElement::setAttributeNodeNS(const QDomAttr &newAttr)

이 요소에 newAttr 속성을 추가합니다.

해당 요소에 ` newAttr`과 동일한 로컬 이름 및 네임스페이스 URI를 가진 다른 속성이 있는 경우, 이 함수는 해당 속성을 대체하고 이를 반환합니다. 그렇지 않은 경우, 이 함수는 ` null attribute`를 반환합니다.

attributeNodeNS(), setAttributeNS(), setAttributeNode()도 참조하십시오 .

void QDomElement::setTagName(const QString &name)

이 요소의 태그 이름을 name 로 설정합니다.

tagName()도 참조하십시오 .

QString QDomElement::tagName() const

이 요소의 태그 이름을 반환합니다. 다음과 같은 XML 요소의 경우:

<img src="myimg.png">

이 경우 tagname은 "img"를 반환합니다.

setTagName()도 참조하십시오 .

QString QDomElement::text() const

요소의 텍스트 또는 빈 문자열을 반환합니다.

예시:

<h1>Hello <b>Qt</b> <![CDATA[<xml is cool>]]></h1>

<h1> 태그에 대한 QDomElement 의 text() 함수는 다음 텍스트를 반환합니다:

Hello Qt <xml is cool>

이 함수는 주석을 무시합니다. 이 함수는 QDomText 및 QDomCDATASection 객체만 평가합니다.

QDomElement &QDomElement::operator=(const QDomElement &other)

이 DOM 요소에 ` other `를 할당합니다.

복사된 데이터는 공유됩니다(얕은 복사): 한 노드를 수정하면 다른 노드도 함께 변경됩니다. 깊은 복사를 하려면 ` cloneNode()`를 사용하십시오.

© 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.