QDomElement Class
QDomElement クラスは、DOM ツリー内の 1 つの要素を表します。詳細...
| ヘッダー: | #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() を使用して変更できます。
要素の属性は、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")) {
// ...
}Document Object Model の詳細については、Level 1およびLevel 2 Core を参照してください。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 および名前空間 URInsURI を持つ属性に対応する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 および名前空間 URInsURI を持つこの要素のすべての子孫を含む `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">この場合、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.