QDomNode Class

QDomNode クラスは、DOM ツリー内のすべてのノードの基本クラスです。詳細...

Header: #include <QDomNode>
CMake: find_package(Qt6 REQUIRED COMPONENTS Xml)
target_link_libraries(mytarget PRIVATE Qt6::Xml)
qmake: QT += xml
Inherited By:
10 types

QDomAttr, QDomCharacterData, QDomDocument, QDomDocumentFragment, QDomDocumentType, QDomElement, QDomEntity, QDomEntityReference, QDomNotation, and QDomProcessingInstruction

メモ:このクラスの関数はすべてリエントラントです。

パブリック型

enum EncodingPolicy { EncodingFromDocument, EncodingFromTextStream }
enum NodeType { ElementNode, AttributeNode, TextNode, CDATASectionNode, EntityReferenceNode, …, CharacterDataNode }

パブリック関数

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
QTextStream &operator<<(QTextStream &str, const QDomNode &node)

詳細説明

DOM の多くの関数は QDomNode を返します。

isAttr(),isCDATASection(),isDocumentFragment(),isDocument(),isDocumentType(),isElement(),isEntityReference(),isText(),isEntity(),isNotation(),isProcessingInstruction(),isCharacterData(),isComment() を使用して、ノードのタイプを調べることができます。

QDomNode は、toAttr()、toCDATASection()、toDocumentFragment()、toDocument()、toDocumentType()、toElement()、toEntityReference()、toText()、toEntity()、toNotation()、toProcessingInstruction()、toCharacterData()、toComment() を使用して、そのサブクラスのいずれかに変換できます。clear() を使用して、ノードをヌル・ノードに変換できます。

QDomNode クラスのコピーは、明示的共有を使用してデータを共有します。これは、1 つのノードを変更するとすべてのコピーが変更されることを意味します。これは、firstChild() などの QDomNode を返す関数と組み合わせると特に便利です。cloneNode() を使用すると、ノードの独立した(深い)コピーを作成できます。

QDomNode は、nullptr と同様に NULL にすることができます。ヌル・ノードのコピーを作成すると、別のヌル・ノードが作成されます。NULL ノードを変更することはできませんが、別の、場合によっては NULL でないノードを割り当てることはできます。この場合、NULL ノードのコピーは NULL のままになります。QDomNode が NULL かどうかは、isNull() を呼び出すことで確認できます。QDomNode(または派生クラスのいずれか)の空のコンストラクタは、NULL ノードを作成します。

ノードは、insertBefore()、insertAfter()、またはappendChild() で挿入されます。あるノードを別のノードに置き換えるにはreplaceChild() を使用し、ノードを削除するにはremoveChild() を使用します。

ノードをトラバースするには、firstChild() を使用してノードの最初の子(存在する場合)を取得し、nextSibling() を使用してトラバースします。QDomNode には、lastChild()、previousSibling()、parentNode() もあります。特定のノード名を持つ最初の子ノードを見つけるには、namedItem() を使用します。

ノードに子があるかどうかを調べるにはhasChildNodes() を使用し、ノードのすべての子のリストを取得するにはchildNodes() を使用します。

ノードの名前と値(型によって意味が異なる)は、それぞれnodeName() とnodeValue() で返される。ノードの型はnodeType() で返される。ノードの値はsetNodeValue() で設定できる。

ノードが属するドキュメントはownerDocument() で返されます。

隣接するQDomText ノードは、normalize() で 1 つのノードにマージできます。

QDomElement ノードには属性があり、 () で取得できます。attributes

QDomElement また、 ノードは、 () で取得できるネームスペースを持つことができます。ローカル名は () で、プレフィックスは () で取得できます。接頭辞は () で設定できます。QDomAttr namespaceURI localName prefix setPrefix

ノードの XML 表現をテキスト・ストリームに書き出すには、save() を使用します。

以下の例は、XML 文書の最初の要素を探し、その直接の子であるすべての要素の名前を表示します。

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

ドキュメント・オブジェクト・モデルの詳細については、レベル1およびレベル2コアを参照してください。DOM実装のより一般的な紹介については、QDomDocument ドキュメントを参照してください。

メンバ型ドキュメント

enum QDomNode::EncodingPolicy

この列挙型は、QDomNode::save() がシリアライズ時に使用するエンコーディングを決定する方法を指定します。

定数説明
QDomNode::EncodingFromDocument1エンコーディングはドキュメントから取得されます。
QDomNode::EncodingFromTextStream2エンコーディングはQTextStream から取得されます。

QDomNode::save()も参照してください

enum QDomNode::NodeType

この列挙型はノードのタイプを定義します:

定数説明
QDomNode::ElementNode1
QDomNode::AttributeNode2
QDomNode::TextNode3
QDomNode::CDATASectionNode4
QDomNode::EntityReferenceNode5
QDomNode::EntityNode6
QDomNode::ProcessingInstructionNode7
QDomNode::CommentNode8
QDomNode::DocumentNode9
QDomNode::DocumentTypeNode10
QDomNode::DocumentFragmentNode11
QDomNode::NotationNode12
QDomNode::BaseNode21QDomNode オブジェクト、すなわちQDomNode のサブクラスではない。
QDomNode::CharacterDataNode22

メンバ関数 ドキュメント

QDomNode::QDomNode()

null ノードを構築する。

QDomNode::QDomNode(const QDomNode &node)

node のコピーを構築する。

コピーのデータは共有されます(シャローコピー):一方のノードを変更すると、もう一方のノードも変更されます。ディープ・コピーを作成したい場合は、cloneNode() を使用します。

[noexcept] QDomNode::~QDomNode()

オブジェクトを破棄し、リソースを解放します。

QDomNode QDomNode::appendChild(const QDomNode &newChild)

ノードの最後の子としてnewChild を追加します。

newChild が他のノードの子である場合、このノードに再ペアレントされます。newChild がこのノードの子である場合、子リスト内の位置が変更される。

newChildQDomDocumentFragment の場合、フラグメントの子がフラグメントから削除され、追加される。

newChildQDomElement で、このノードがすでに子として要素ノードを持つQDomDocument である場合、newChild は子として追加されず、NULL ノードが返されます。

成功した場合はnewChild への新しい参照を、失敗した場合はnull node を返す。

NULLノード(例えば、デフォルトのコンストラクタで作成されたもの)に対してこの関数を呼び出しても何もせず、null node を返します。

DOM 仕様は属性ノードの挿入を禁止していますが、歴史的な理由から、QDom は属性ノードを受け入れます。

insertBefore(),insertAfter(),replaceChild(),removeChild()も参照してください

QDomNamedNodeMap QDomNode::attributes() const

すべての属性の名前付きノード・マップを返します。属性はQDomElementに対してのみ提供されます。

マップ内の属性を変更すると、このQDomNode の属性も変更されます。

QDomNodeList QDomNode::childNodes() const

すべての直接の子ノードのリストを返します。

ほとんどの場合、QDomElement オブジェクトに対してこの関数を呼び出します。

例えば、XMLドキュメントが以下のような場合です:

<body>
<h1>Heading</h1>
<p>Hello <b>you</b></p>
</body>

body "要素の子ノードのリストには、&lt;h1&gt; タグによって作成されたノードと、&lt;p&gt; タグによって作成されたノードが含まれます。

リスト内のノードはコピーされないので、リスト内のノードを変更すると、このノードの子ノードも変更されます。

firstChild() およびlastChild()も参照してください

void QDomNode::clear()

ノードをヌル・ノードに変換します。ヌル・ノードでなかった場合は、その型と内容が削除されます。

isNull() も参照して ください。

QDomNode QDomNode::cloneNode(bool deep = true) const

QDomNode の(浅いコピーではなく)深いコピーを作成します。

deep が真の場合、複製は再帰的に行われ、ノードの子もすべてディープコピーされます。deep が偽の場合、ノード自身のみがコピーされ、コピーは子ノードを持ちません。

int QDomNode::columnNumber() const

QDomDocument::setContent() によって作成されたノードの場合、この関数は、ノードが解析された XML ドキュメント内の列番号を返す。それ以外の場合は -1 が返されます。

lineNumber() およびQDomDocument::setContent()も参照

QDomNode QDomNode::firstChild() const

ノードの最初の子を返します。子ノードがない場合は、null node が返されます。返されたノードを変更すると、ドキュメント・ツリー内のノードも変更されます。

lastChild() およびchildNodes()も参照

QDomElement QDomNode::firstChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const

タグ名tagName および名前空間 URInamespaceURI を持つ最初の子要素を返します。tagName が空の場合、namespaceURI を持つ最初の子要素を返し、namespaceURI が空の場合、tagName を持つ最初の子要素を返します。 両方のパラメータが空の場合、最初の子要素を返します。そのような子が存在しない場合は null 要素を返します。

lastChildElement()、previousSiblingElement()、およびnextSiblingElement()も参照してください

bool QDomNode::hasAttributes() const

ノードに属性がある場合はtrue を返し、ない場合はfalse を返します。

attributes()も参照

bool QDomNode::hasChildNodes() const

ノードに 1 つ以上の子がある場合はtrue を返し、そうでない場合はfalse を返します。

QDomNode QDomNode::insertAfter(const QDomNode &newChild, const QDomNode &refChild)

子ノードrefChild の後にノードnewChild を挿入します。refChild はこのノードの直接の子でなければなりません。refChildnull の場合、このノードの最後の子としてnewChild が追加される。

newChild が他のノードの子である場合、このノードに再レンタリングされる。newChild がこのノードの子である場合、子ノードのリスト内の位置が変更される。

newChildQDomDocumentFragment である場合、フラグメントの子はフラグメントから削除され、refChild の後に挿入される。

成功した場合はnewChild への新しい参照を返し、失敗した場合はnull node を返します。

DOMの仕様では属性ノードの挿入は禁止されていますが、歴史的な理由によりQDomは挿入を許可しています。

insertBefore(),replaceChild(),removeChild(),appendChild()も参照

QDomNode QDomNode::insertBefore(const QDomNode &newChild, const QDomNode &refChild)

子ノードrefChild の前にノードnewChild を挿入する。refChild はこのノードの直接の子でなければならない。refChildnull の場合、newChild がノードの最初の子として挿入される。

newChild が他のノードの子である場合、そのノードはこのノードにリペアレントされる。newChild がこのノードの子である場合、子リスト内の位置が変更される。

newChildQDomDocumentFragment である場合、フラグメントの子はフラグメントから削除され、refChild の前に挿入される。

成功した場合はnewChild への新しい参照を返し、失敗した場合はnull node を返します。

DOM 仕様は属性ノードの挿入を禁止していますが、歴史的な理由により QDom は挿入を許可しています。

insertAfter(),replaceChild(),removeChild(),appendChild()も参照

bool QDomNode::isAttr() const

ノードが属性である場合はtrue を返し、そうでない場合はfalse を返します。

この関数がtrue を返す場合、このオブジェクトが QDomAttribute であることを意味するものではありません。

toAttr()も参照してください

bool QDomNode::isCDATASection() const

ノードが CDATA セクションである場合はtrue を返し、そうでない場合は false を返します。

この関数がtrue を返す場合、このオブジェクトがQDomCDATASection であることを意味しません。QDomCDATASection を取得するには、toCDATASection() を使用します。

toCDATASection()も参照してください

bool QDomNode::isCharacterData() const

ノードが文字データ・ノードである場合はtrue を返し、そうでない場合はfalse を返します。

QDomCharacterData toCharacterDataこの関数がtrue を返しても、このオブジェクトがQDomCharacterData であることを意味するわけではありません。

toCharacterData()も参照してください

bool QDomNode::isComment() const

ノードがコメントである場合はtrue を返し、そうでない場合はfalse を返します。

この関数がtrue を返す場合、このオブジェクトがQDomComment であることを意味しません。QDomComment を取得するには、toComment() を使用します。

toComment()も参照してください

bool QDomNode::isDocument() const

ノードがドキュメントである場合はtrue を返し、そうでない場合はfalse を返します。

この関数がtrue を返す場合、このオブジェクトがQDomDocument であることを意味しません。QDomDocument を取得するには、toDocument() を使用します。

toDocument()も参照してください

bool QDomNode::isDocumentFragment() const

ノードがドキュメント・フラグメントである場合はtrue を返し、そうでない場合は false を返します。

この関数がtrue を返す場合、このオブジェクトがQDomDocumentFragment であることを意味しません。QDomDocumentFragmenttoDocumentFragment() で取得できます。

toDocumentFragment()も参照してください

bool QDomNode::isDocumentType() const

ノードが文書型である場合はtrue を返し、そうでない場合は false を返します。

この関数がtrue を返す場合、このオブジェクトがQDomDocumentType であることを意味しません。QDomDocumentTypetoDocumentType() で取得できます。

toDocumentType()も参照してください

bool QDomNode::isElement() const

ノードが要素である場合はtrue を返し、そうでない場合はfalse を返します。

QDomElement toElementこの関数がtrue を返しても、このオブジェクトがQDomElement であることを意味するわけではありません。

toElement()も参照してください

bool QDomNode::isEntity() const

ノードがエンティティの場合はtrue を返し、そうでない場合はfalse を返します。

QDomEntity toEntityこの関数がtrue を返しても、このオブジェクトがQDomEntity であることを意味するわけではありません。

toEntity()も参照してください

bool QDomNode::isEntityReference() const

ノードが実体参照である場合はtrue を返し、そうでない場合は false を返します。

QDomEntityReference toEntityReferenceこの関数がtrue を返した場合でも、このオブジェクトがQDomEntityReference であることを意味するわけではありません。

toEntityReference()も参照してください

bool QDomNode::isNotation() const

ノードが表記法の場合はtrue を返し、そうでない場合はfalse を返します。

この関数がtrue を返す場合、このオブジェクトがQDomNotation であることを意味しません。QDomNotation を取得するには、toNotation() を使用します。

toNotation()も参照してください

bool QDomNode::isNull() const

このノードが NULL の場合(つまり、型も内容もない場合)、true を返します。そうでない場合は、false を返します。

bool QDomNode::isProcessingInstruction() const

ノードが処理命令である場合はtrue を返し、そうでない場合はfalse を返す。

この関数がtrue を返しても、このオブジェクトがQDomProcessingInstruction であることを意味するわけではありません。QProcessingInstruction はtoProcessingInstruction() で取得できます。

toProcessingInstruction()も参照してください

bool QDomNode::isSupported(const QString &feature, const QString &version) const

DOM 実装がfeature の機能を実装しており、この機能がversion のバージョンでこのノードによってサポートされている場合、true を返します;そうでない場合、false を返します。

QDomImplementation::hasFeature()も参照

bool QDomNode::isText() const

ノードがテキスト・ノードであればtrue を返し、そうでなければfalse を返す。

この関数がtrue を返す場合、このオブジェクトがQDomText であることを意味するわけではありません。QDomTexttoText() で取得できます。

toText()も参照してください

QDomNode QDomNode::lastChild() const

ノードの最後の子を返します。子ノードがない場合は、null node が返されます。返されたノードを変更すると、ドキュメントツリー内のノードも変更されます。

firstChild() およびchildNodes()も参照

QDomElement QDomNode::lastChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const

タグ名tagName および名前空間 URInamespaceURI を持つ最後の子要素を返します。tagName が空の場合、namespaceURI を持つ最後の子要素を返し、namespaceURI が空の場合、tagName を持つ最後の子要素を返します。 両方のパラメータが空の場合、最後の子要素を返します。そのような子が存在しない場合は null 要素を返します。

firstChildElement()、previousSiblingElement()、nextSiblingElement()も参照

int QDomNode::lineNumber() const

QDomDocument::setContent() によって作成されたノードの場合、この関数は、そのノードが解析された XML 文書の行番号を返します。そうでない場合は -1 が返される。

columnNumber() およびQDomDocument::setContent()も参照

QString QDomNode::localName() const

ノードが名前空間を使用している場合、この関数はノードのローカル名を返し、そうでない場合は空文字列を 返します。

名前空間を持つことができるのは、ElementNode またはAttributeNode タイプのノードのみです。名前空間は作成時に指定する必要があり、後から追加することはできません。

prefix()、namespaceURI()、QDomDocument::createElementNS()、QDomDocument::createAttributeNS()も参照してください

QDomNode QDomNode::namedItem(const QString &name) const

nodeName() がname と等しい最初の直接の子ノードを返します。

そのような直接の子が存在しない場合は、null node が返されます。

nodeName()も参照してください

QString QDomNode::namespaceURI() const

このノードの名前空間 URI を返すか、またはノードに名前空間 URI がない場合は空文字列を返します。

ネームスペースを持つことができるのは、ElementNode またはAttributeNode タイプのノードのみです。名前空間 URI は作成時に指定する必要があり、後で変更することはできません。

prefix()、localName()、QDomDocument::createElementNS()、QDomDocument::createAttributeNS()も参照

QDomNode QDomNode::nextSibling() const

ドキュメント・ツリーの次の兄弟ノードを返します。返されたノードを変更すると、ドキュメントツリー内のノードも変更されます。

次のようなXMLがあるとします:

<h1>Heading</h1>
<p>The text...</p>
<h2>Next heading</h2>

というような XML があり、このQDomNode が <p> タグを表している場合、 nextSibling() は <h2> タグを表すノードを返します。

previousSibling()も参照ください

QDomElement QDomNode::nextSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const

タグ名tagName および名前空間 URInamespaceURI を持つ、次の兄弟要素を返します。tagName が空の場合、namespaceURI を持つ次の兄弟要素を返し、namespaceURI が空の場合、tagName を持つ次の兄弟子要素を返します。 両方のパラメータが空の場合、次の兄弟要素を返します。そのような兄弟が存在しない場合は null 要素を返します。

firstChildElement()、previousSiblingElement()、およびlastChildElement()も参照してください

QString QDomNode::nodeName() const

ノードの名前を返します。

名前の意味はサブクラスによって異なる:

名前意味
QDomAttr属性の名前
QDomCDATASection文字列 "#cdata-section"
QDomComment文字列 "#comment"
QDomDocument文字列 "#document"
QDomDocumentFragment文字列 "#document-fragment"
QDomDocumentTypeドキュメントタイプの名前
QDomElementタグ名
QDomEntityエンティティの名前
QDomEntityReference参照されるエンティティの名前
QDomNotation記法名
QDomProcessingInstruction処理命令の対象
QDomText文字列 "#text"

注釈この関数は、要素ノードと属性ノードの名前を処理する際に名前空間の存在を考慮しません。その結果、返される名前にはどのような名前空間接頭辞があってもかまいません。要素または属性のノード名を取得するには、localName() を使用します。名前空間接頭辞を取得するには、namespaceURI() を使用します。

nodeValue()も参照してください

QDomNode::NodeType QDomNode::nodeType() const

ノードの型を返します。

toAttr()、toCDATASection()、toDocumentFragment()、toDocument()、toDocumentType()、toElement()、toEntityReference()、toText()、toEntity()、toNotation()、toProcessingInstruction()、toCharacterData()、toComment() も参照して ください。

QString QDomNode::nodeValue() const

ノードの値を返す。

値の意味はサブクラスによって異なります:

名前意味
QDomAttr属性値
QDomCDATASectionCDATA セクションの内容
QDomCommentコメント
QDomProcessingInstruction処理命令のデータ
QDomTextテキスト

他のすべてのサブクラスはノード値を持たず、空文字列を返します。

setNodeValue() およびnodeName()も参照してください

void QDomNode::normalize()

要素に対して normalize() を呼び出すと、そのすべての子要素が標準形式に変換されます。これは、隣接するQDomText オブジェクトが単一のテキストオブジェクトにマージされることを意味します (QDomCDATASection ノードはマージされません)。

QDomDocument QDomNode::ownerDocument() const

このノードが属するドキュメントを返します。

QDomNode QDomNode::parentNode() const

親ノードを返します。このノードに親がない場合は、NULL ノードが返されます(つまり、isNull() がtrue を返すノード)。

QString QDomNode::prefix() const

ノードの名前空間接頭辞を返すか、またはノードに名前空間接頭辞がない場合は空文字列を返します。

名前空間を持つことができるのは、ElementNode またはAttributeNode タイプのノードだけです。名前空間接頭辞は作成時に指定する必要があります。ノードが名前空間接頭辞付きで作成された場合は、後でsetPrefix() で変更できます。

QDomDocument::createElement() やQDomDocument::createAttribute() で要素や属性を作成した場合、接頭辞は空文字列になります。代わりにQDomDocument::createElementNS() やQDomDocument::createAttributeNS() を使うと、接頭辞は空文字列にはなりません。

setPrefix()、localName()、namespaceURI()、QDomDocument::createElementNS()、QDomDocument::createAttributeNS()も参照

QDomNode QDomNode::previousSibling() const

ドキュメント・ツリーの前の兄弟ノードを返します。返されるノードを変更すると、ドキュメントツリー内のノードも変更されます。

たとえば、次のようなXMLがあるとします:

<h1>Heading</h1>
<p>The text...</p>
<h2>Next heading</h2>

このQDomNode が &lt;p&gt; タグを表す場合、previousSibling() は &lt;h1&gt; タグを表すノードを返します。

nextSibling()も参照してください

QDomElement QDomNode::previousSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const

タグ名tagName および名前空間 URInamespaceURI を持つ直前の兄弟要素を返します。tagName が空の場合、namespaceURI を持つ前の兄弟要素を返し、namespaceURI が空の場合、tagName を持つ前の兄弟要素を返します。 両方のパラメータが空の場合、前の兄弟要素を返します。そのような兄弟が存在しない場合は null 要素を返します。

firstChildElement()、nextSiblingElement()、lastChildElement()も参照

QDomNode QDomNode::removeChild(const QDomNode &oldChild)

oldChild を子のリストから削除します。oldChild は、このノードの直接の子でなければなりません。

成功した場合はoldChild への新しい参照を、失敗した場合はnull node を返します。

insertBefore()、insertAfter()、replaceChild() およびappendChild()も参照してください

QDomNode QDomNode::replaceChild(const QDomNode &newChild, const QDomNode &oldChild)

oldChildnewChild で置換します。oldChild は、このノードの直接の子でなければなりません。

newChild が他のノードの子である場合、そのノードはこのノードにリペアレントされます。newChild がこのノードの子である場合、その子のリスト内の位置が変更される。

newChildQDomDocumentFragment である場合、oldChild はフラグメントのすべての子で置き換えられる。

成功した場合はoldChild への新しい参照を返し、失敗した場合はnull node を返します。

insertBefore()、insertAfter()、removeChild() およびappendChild()も参照

void QDomNode::save(QTextStream &stream, int indent, QDomNode::EncodingPolicy encodingPolicy = QDomNode::EncodingFromDocument) const

ノードとそのすべての子の XML 表現をストリームstream に書き込みます。この関数は、ノードのインデント量としてindent を使用します。

ドキュメントに無効なXML文字や、与えられたエンコーディングでエンコードできない文字が含まれている場合、その結果と動作は未定義である。

encodingPolicyQDomNode::EncodingFromDocument で、このノードが文書ノードである場合、テキストストリームstream のエンコーディングは、"xml" という名前の処理命令が存在すれば、それを XML 宣言として扱うことで設定され、そうでなければデフォルトは UTF-8 となる。XML宣言は処理命令ではないが、歴史的な理由からこの動作が存在する。このノードがドキュメントノードでない場合、テキストストリームのエンコーディングが使用される。

encodingPolicyEncodingFromTextStream で、このノードが文書ノードである場合、この関数は save(QTextStream &str, int indent) と同じ動作をするが、例外としてテキストストリームstream で指定されたエンコーディングが使用される。

ドキュメントに無効なXML文字や、与えられたエンコーディングでエンコードできない文字が含まれている場合、その結果と動作は未定義である。

void QDomNode::setNodeValue(const QString &value)

ノードの値をvalue に設定する。

nodeValue()も参照してください

void QDomNode::setPrefix(const QString &pre)

ノードに名前空間接頭辞がある場合、この関数はノードの名前空間接頭辞をpre に変更する。それ以外の場合、この関数は何も行いません。

名前空間を持つことができるのは、ElementNode またはAttributeNode 型のノードだけです。名前空間接頭辞は作成時に指定する必要があり、後から追加することはできません。

prefix()、localName()、namespaceURI()、QDomDocument::createElementNS()、QDomDocument::createAttributeNS()も参照

QDomAttr QDomNode::toAttr() const

QDomNodeQDomAttr に変換します。ノードが属性でない場合、返されるオブジェクトはnull になります。

isAttr()も参照してください

QDomCDATASection QDomNode::toCDATASection() const

QDomNodeQDomCDATASection に変換します。ノードが CDATA セクションでない場合、返されるオブジェクトはnull になります。

isCDATASection()も参照して ください。

QDomCharacterData QDomNode::toCharacterData() const

QDomNodeQDomCharacterData に変換します。ノードが文字データ・ノードでない場合、返されるオブジェクトはnull になります。

isCharacterData()も参照して ください。

QDomComment QDomNode::toComment() const

QDomNodeQDomComment に変換します。ノードがコメントでない場合、返されるオブジェクトはnull になります。

isComment()も参照して ください。

QDomDocument QDomNode::toDocument() const

QDomNodeQDomDocument に変換します。 ノードがドキュメントでない場合、返されるオブジェクトはnull になります。

isDocument()も参照して ください。

QDomDocumentFragment QDomNode::toDocumentFragment() const

QDomNodeQDomDocumentFragment に変換します。 ノードがドキュメントフラグメントでない場合、返されるオブジェクトはnull になります。

isDocumentFragment()も参照して ください。

QDomDocumentType QDomNode::toDocumentType() const

QDomNodeQDomDocumentType に変換します。 ノードが文書型でない場合、返されるオブジェクトはnull になります。

isDocumentType()も参照して ください。

QDomElement QDomNode::toElement() const

QDomNodeQDomElement に変換します。 ノードが要素でない場合、返されるオブジェクトはnull になります。

isElement()も参照して ください。

QDomEntity QDomNode::toEntity() const

QDomNodeQDomEntity に変換します。ノードが実体でない場合、返されるオブジェクトはnull になります。

isEntity()も参照して ください。

QDomEntityReference QDomNode::toEntityReference() const

QDomNodeQDomEntityReference に変換します。ノードが実体参照でない場合、返されるオブジェクトはnull になります。

isEntityReference()も参照して ください。

QDomNotation QDomNode::toNotation() const

QDomNodeQDomNotation に変換します。ノードが表記法でない場合、返されるオブジェクトはnull になります。

isNotation()も参照

QDomProcessingInstruction QDomNode::toProcessingInstruction() const

QDomNodeQDomProcessingInstruction に変換します。ノードが処理命令でない場合、返されるオブジェクトはnull になります。

isProcessingInstruction()も参照して ください。

QDomText QDomNode::toText() const

QDomNodeQDomText に変換します。ノードがテキストでない場合、返されるオブジェクトはnull になります。

isText()も参照して ください。

bool QDomNode::operator!=(const QDomNode &other) const

other とこの DOM ノードが等しくない場合はtrue を返し、そうでない場合はfalse を返します。

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

other のコピーをこの DOM ノードに割り当てます。

コピーのデータは共有されます(浅いコピー):一方のノードを変更すると、もう一方のノードも変更されます。ディープコピーを作成したい場合は、cloneNode() を使用してください。

bool QDomNode::operator==(const QDomNode &other) const

other とこの DOM ノードが等しい場合はtrue を返し、そうでない場合はfalse を返します。

QDomNode のインスタンスは、QDomDocument のデータ構造への参照として動作します。等しいかどうかのテストは、2つの参照が同じ基礎となるノードを指しているかどうかをチェックします。例えば

QDomDocument document;
QDomElement element1 = document.documentElement();
QDomElement element2 = element1;

2つのノード(QDomElementQDomNode のサブクラス)はどちらもドキュメントのルート要素を参照しており、element1 == element2 は真を返します。一方:

QDomElement element3 = document.createElement("MyElement");
QDomElement element4 = document.createElement("MyElement");

両方のノードが同じ名前を持つ空の要素であっても、element3 == element4 は false を返します。これは、基礎となるデータ構造内の 2 つの異なるノードを参照しているためです。

関連する非メンバー

QTextStream &operator<<(QTextStream &str, const QDomNode &node)

ノードnode とそのすべての子の XML 表現をストリームstr に書き込みます。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。