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()
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();
}

firstChildtoText().data() や n. ().data() を直接使用するのではなく、各ノードをテキスト・ノードに変換して () を使用するようにしています。toText text

指定したタグ名を持つ要素のすべての子孫のリストを取得するには、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")) {
    // ...
}

ドキュメント・オブジェクト・モデルの詳細については、レベル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 と名前空間 URInsURI を持つ属性を返します。属性が存在しない場合は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 と名前空間 URInsURI を持つ属性を持つ場合はtrue を返し、そうでない場合は false を返します。

QDomNode::NodeType QDomElement::nodeType() const

ElementNode を返す。

void QDomElement::removeAttribute(const QString &name)

この要素から namename という属性を削除します。

setAttribute(),attribute(),removeAttributeNS()も参照

void QDomElement::removeAttributeNS(const QString &nsURI, const QString &localName)

この要素から、ローカル名localName と名前空間 URInsURI を持つ属性を削除します。

setAttributeNS(),attributeNS(),removeAttribute()も参照してください

QDomAttr QDomElement::removeAttributeNode(const QDomAttr &oldAttr)

要素から属性oldAttr を削除して返します。

attributeNode() およびsetAttributeNode()も参照

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

value を持つname という属性を追加します。同じ名前の属性が存在する場合、その値は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 と名前空間 URInsURI と値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>

QDomElement <h1> タグの関数 text() は、以下のテキストを返します:

Hello Qt <xml is cool>

コメントはこの関数では無視されます。この関数はQDomTextQDomCDATASection オブジェクトのみを評価します。

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.