QDomElement Class
QDomElement 클래스는 DOM 트리에서 하나의 요소를 나타냅니다. 더 보기...
Header: | #include <QDomElement> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Xml) target_link_libraries(mytarget PRIVATE Qt6::Xml) |
qmake: | QT += xml |
상속합니다: | QDomNode |
- 상속된 멤버를 포함한 모든 멤버 목록
- QDomElement는 XML 클래스의 일부입니다.
참고: 이 클래스의 모든 함수는 재진입합니다.
공용 함수
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()로 변경할 수 있습니다.
요소 속성은 attribute() 및 attributeNode() 함수를 사용하여 쿼리할 수 있는 QDomAttr 객체로 표시됩니다. 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() 노드가 텍스트 요소가 아닐 수 있으므로 노드에서 직접 ().data()를 사용합니다.
elementsByTagName() 또는 elementsByTagNameNS()를 사용하여 지정된 태그 이름을 가진 요소의 모든 하위 요소 목록을 가져올 수 있습니다.
돔 문서의 요소를 찾아보려면 firstChildElement(), lastChildElement(), nextSiblingElement() 및 previousSiblingElement()를 사용합니다. 예를 들어 '데이터베이스'라는 루트 요소에서 '항목'이라는 모든 하위 요소를 반복하려면 다음을 사용할 수 있습니다:
QDomDocument doc = // ... QDomElement root = doc.firstChildElement("database"); QDomElement elt = root.firstChildElement("entry"); for (; !elt.isNull(); elt = elt.nextSiblingElement("entry")) { // ... }
문서 객체 모델에 대한 자세한 내용은 레벨 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
이 요소를 루트로 하는 요소 하위 트리의 프리오더 탐색 중에 발견한 tagname 이라는 이 요소의 모든 하위 요소를 포함하는 QDomNodeList 을 반환합니다. 반환된 목록에 있는 요소의 순서는 프리오더 순회 중에 발견되는 순서입니다.
elementsByTagNameNS() 및 QDomDocument::elementsByTagName()도 참조하세요 .
QDomNodeList QDomElement::elementsByTagNameNS(const QString &nsURI, const QString &localName) const
이 요소를 루트로 하는 요소 하위 트리의 프리오더 탐색 중에 발견된 로컬 이름 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 과 네임스페이스 URI nsURI 값 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">
태그 이름은 "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()를 사용합니다.
© 2025 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.