QDomNode
注意
cloneNode()以外はシャローコピーです
返り値であるオブジェクトを変更すると、DOMツリー上のオブジェクトも変更されます。
nullノードとは
isNull()の値がtrueである空のノードです
基本
コンストラクタ
nullノードを作成します
コピーコンストラクタ
| QDomNode::QDomNode(const QDomNode & n) |
オブジェクトはシャローコピーされます
ディープコピーをする場合はcloneNode()を使用します
デストラクタ
ノードに関する情報を取得する
型を取得する
| NodeType QDomNode::nodeType() const |
本ノードの型を取得します
| enum QDomNode::NodeType |
値 |
内容 |
| QDomNode::ElementNode |
1 |
要素のノード |
| QDomNode::AttributeNode |
2 |
属性のノード |
| QDomNode::TextNode |
3 |
テキストノード |
| QDomNode::CDATASectionNode |
4 |
CDATAノード |
| QDomNode::EntityReferenceNode |
5 |
実体参照ノード |
| QDomNode::EntityNode |
6 |
実体ノード |
| QDomNode::ProcessingInstructionNode |
7 |
処理命令ノード |
| QDomNode::CommentNode |
8 |
コメントノード |
| QDomNode::DocumentNode |
9 |
ドキュメントノード |
| QDomNode::DocumentTypeNode |
10 |
ドキュメントタイプノード |
| QDomNode::DocumentFragmentNode |
11 |
ドキュメントフラグメントノード |
| QDomNode::NotationNode |
12 |
ノーティションノード |
| QDomNode::BaseNode |
21 |
QDomNodeオブジェクト |
| QDomNode::CharacterDataNode |
22 |
文字データノード |
名前を取得する
| QString QDomNode::namespaceURI() const |
本ノードの名前空間URIを取得します
名前空間URIを持たない場合は空の文字列を返します
| QString QDomNode::prefix() const |
本ノードの名前空間接頭辞を取得します
名前空間接頭辞を持たない場合は空の文字列を返します
- 名前空間URI及び接頭辞はノード生成時に指定されなければならず、後から指定しますことはできません
- QDomElement オブジェクトまたは QDomAttr オブジェクトのみ名前空間URI及び接頭辞を持つことができます
- QDomDocument::createElement() を使用して作成した要素または QDomDocument::createAttribute() を使用して作成した属性は名前空間URI及び接頭辞には空の文字列が設定されます
- QDomDocument::createElementNS() を使用して作成した要素または QDomDocument::createAttributeNS() を使用して作成した属性は名前空間URI及び接頭辞が設定されます
| QString QDomNode::localName() const |
本ノードが名前空間を利用している場合、ローカル名を取得します
名前空間を利用していない場合は空の文字列を返します
| QString QDomNode::nodeName() const |
本ノードの名前を取得します
名前の意味はノードのオブジェクトによって異なります
名前空間は考慮されていないので正確な名前を得る場合は namespaceURI() 及び localName() を使用します
| void QDomNode::setPrefix(const QString & pre) |
本ノードが名前空間接頭辞を持っている場合、名前空間接頭辞を変更できます
持っていない場合は何もしません
QDomElement オブジェクト または
QDomAttr オブジェクトのみ名前空間を持つことができます
名前空間はノード生成時に指定されなければならず、後から名前空間を指定することはできません
関係するノードを取得する
ルートノードを取得する
| QDomDocument QDomNode::ownerDocument() const |
本ノードのルートノードを取得します
親ノードを取得する
| QDomNode QDomNode::parentNode() const |
本ノードの親ノードを取得します
親ノードが存在しない場合、nullノードを返します
兄弟ノードを取得する
| QDomNode QDomNode::nextSibling() const |
次の兄弟ノードを取得します
次の兄弟ノードが存在しない場合はnullノードを返します
| QDomNode QDomNode::previousSibling() const |
前の兄弟ノードを取得します
前の兄弟ノードが存在しない場合はnullノードを返します
子ノード
子ノードを取得する
| bool QDomNode::hasChildNodes() const |
子ノードが存在する場合はtrue、そうでない場合はfalseを返します
| QDomNodeList QDomNode::childNodes() const |
| QDomNode QDomNode::firstChild() const |
本ノードの最初の子ノードを取得します
子ノードが存在しない場合はnullノードを返します
| QDomNode QDomNode::lastChild() const |
本ノードの最後の子ノードを取得します
子ノードがない場合はnullノードを返します
| QDomNode QDomNode::namedItem(const QString & name) const |
nodeName() の値が name と等しい最初に見つかった子ノードを取得します
該当するノードが存在しない場合はnullノードを返します
子ノードを削除する
| QDomNode QDomNode::removeChild(const QDomNode & oldChild) |
oldChildを本ノードの子から削除します
- 成功した場合は oldChild の参照を返し、失敗した場合はnullノードを返します
- oldChild で指定した子ノードを本ノードから削除します
- oldChild は本ノードの直接の子ノードである必要があります
子ノードを置換する
| QDomNode QDomNode::replaceChild(const QDomNode & newChild, const QDomNode & oldChild) |
oldChild を newChild で置換します
- 成功した場合は oldChild の参照を返し、失敗した場合はnullノードを返します
- oldChild は本ノードの直接の子ノードである必要があります
- newChild が既に他のノードの子ノードである場合、本ノードの子ノードに変更されます
- newChild が既に本ノードの子ノードである場合、位置が変更されます
- newChild が QDomDocumentFragment オブジェクトの場合、oldChild はフラグメントにある子ノードに置換されます
子ノードを追加する
| QDomNode QDomNode::appendChild(const QDomNode & newChild) |
本ノードの子ノードの最後に新しい子ノードを追加します
- 成功した場合は newChild の参照を返し、失敗した場合はnullノードを返します
- nullノードでこの関数を呼んだ場合、なにもせず、nullノードを返します
- newChild が既に他のノードの子ノードである場合、本ノードの子ノードに変更されます
- newChild が既に本ノードの子ノードである場合、位置が変更されます
- newChild が QDomDocumentFragment オブジェクトの場合、フラグメントにある子ノードはすべて削除され、その子ノードは本ノードの子ノードの最後にまとめて追加されます
- newChild が QDomElement オブジェクトであり、本ノードが既に要素ノードを子ノードに持った QDomDocument オブジェクトである場合、newChild は追加されず、nullノードを返します
- DOMの仕様では属性ノードを挿入することは許可されていませんが、歴史的な理由から QDom では許可されています
| QDomNode QDomNode::insertAfter(const QDomNode & newChild, const QDomNode & refChild) |
refChild ノードの後に newChild を挿入します
- 成功した場合は newChild の参照を返し、失敗した場合はnullノードを返します
- refChild は本ノードの直接の子ノードである必要があります
- refChild にnullノードを指定した場合 newChild は本ノードの子ノードの最後に追加されます
- newChild が既に他のノードの子ノードである場合、本ノードの子ノードに変更されます
- newChild が既に本ノードの子ノードである場合、位置が変更されます
- newChild が QDomDocumentFragment オブジェクトの場合、フラグメントにある子ノードはすべて削除され、その子ノードは refChild の後にまとめて追加されます
- DOMの仕様では属性ノードを挿入することは許可されていませんが、歴史的な理由から QDom では許可されています
| QDomNode QDomNode::insertBefore(const QDomNode & newChild, const QDomNode & refChild) |
refChild ノードの前に newChild を挿入します
- 成功した場合は newChild の参照を返し、失敗した場合はnullノードを返します
- refChild は本ノードの直接の子ノードである必要があります
- refChild にnullノードを指定した場合 newChild は本ノードの子ノードの最初に追加されます
- newChild が既に他のノードの子ノードである場合、本ノードの子ノードに変更されます
- newChild が既に本ノードの子ノードである場合、位置が変更されます
- newChild が QDomDocumentFragment オブジェクトの場合、フラグメントにある子ノードはすべて削除され、その子ノードは refChild の前にまとめて追加されます
DOMの仕様では属性ノードを挿入しますことは許可されていませんが、歴史的な理由から QDom では許可されています
子要素
子要素を取得する
| QDomElement QDomNode::firstChildElement(const QString & tagName = QString()) const |
指定したタグ名 tagName を持つ最初に見つかった子要素を取得します
タグ名を指定しなかった場合は最初の子要素を返します
該当する子要素がない場合はnullノードを返します
| QDomElement QDomNode::lastChildElement(const QString & tagName = QString()) const |
指定したタグ名 tagName を持つ最後に見つかった子要素を取得します
タグ名を指定しなかった場合は最後の子要素を返します
該当する子要素がない場合はnullノードを返します
| QDomElement QDomNode::previousSiblingElement(const QString & tagName = QString()) const |
指定したタグ名 tagName を持つ前の兄弟ノードを取得します
タグ名を指定しなかった場合は前の兄弟ノードを取得します
該当する子要素がない場合はnullノードを返します
| QDomElement QDomNode::nextSiblingElement(const QString & tagName = QString()) const |
指定したタグ名 tagName を持つ次の兄弟ノードを取得します
タグ名を指定しなかった場合は次の兄弟ノードを取得します
該当する子要素がない場合はnullノードを返します
属性
属性を取得する
| QDomNamedNodeMap QDomNode::attributes() const |
すべての属性の名前付きノードマップを取得します
属性は
QDomElement オブジェクトでのみ提供されます
属性があるかチェックする
| bool QDomNode::hasAttributes() const |
本ノードが属性を持っている場合はtrue、そうでない場合はfalseを返します
値
値を取得する
| QString QDomNode::nodeValue() const |
本ノードの値を取得します
値の意味はノードのオブジェクトによって異なります
以下以外の子クラスでは空の文字列を返します
| QDomAttr |
属性値 |
| QDomCDATASection |
CDATAセクションのコンテンツ |
| QDomComment |
コメント |
| QDomProcessingInstruction |
命令処理のデータ |
| QDomText |
テキスト |
値を設定する
void QDomNode::setNodeValue(const QString & v)|
本ノードに値を設定します
メソッド
クリアする
本ノードをnullノードにします
本ノードが所持しているコンテンツや型などは削除されます
コピーする
| QDomNode QDomNode::cloneNode(bool deep = true) const |
QDomNodeのディープコピーを作成します
deep=trueの場合、子ノード以下もすべてコピーされます
deep=falseの場合、本ノードのみコピーされます
XML形式にして保存する
| void QDomNode::save(QTextStream & stream, int indent, EncodingPolicy encodingPolicy = QDomNode::EncodingFromDocument) const |
ノード及びすべての子ノードをXML形式に変換し、stream で指定したストリームに書き込みます
indentではノードのインデントに使用する空白の量を指定します
| encodingPolicy |
本ノードのタイプ |
挙動 |
| QDomNode::EncodingFromDocument |
QDomDocument |
XML宣言で指定されているものを使用します。指定されていない場合はUTF8を使用します |
| QDomNode::EncodingFromDocument |
QDomDocument以外 |
stream で指定されている文字コードを使用します |
| QDomNode::EncodingFromTextStream |
QDomDocument |
stream で指定されている文字コードを使用します |
| QDomNode::EncodingFromTextStream |
QDomDocument以外 |
stream で指定されている文字コードを使用します |
- 文章に無効なXML文字及び与えられた文字コードでエンコードできない文字が含まれる場合の挙動は定義されていません
| enum QDomNode::EncodingPolicy |
値 |
挙動 |
| QDomNode::EncodingFromDocument |
1 |
文章のエンコーディング形式を使用 |
| QDomNode::EncodingFromTextStream |
2 |
QDomNode::QTextStream て指定したエンコーディング形式を使用 |
オブジェクトのタイプを判定する
| bool QDomNode::isNull() const |
本ノードがnullノードである場合はtrue、そうでない場合はfalseを返します
| bool QDomNode::isAttr() const |
本ノードが属性である場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomAttr オブジェクトであることを示すものではありません
| bool QDomNode::isCDATASection() const |
本ノードがCDATAセクションである場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomCDATASection オブジェクトを示すものではありません
| bool QDomNode::isCharacterData() const |
本ノードが文字データノードである場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomCharacterData オブジェクトを示すものではありません
| bool QDomNode::isComment() const |
本ノードがコメントである場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomComment オブジェクトを示すものではありません
| bool QDomNode::isDocument() const |
本ノードがドキュメントである場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomDocument オブジェクトを示すものではありません
| bool QDomNode::isDocumentFragment() const |
本ノードがドキュメントフラグメントである場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomDocumentFragment オブジェクトを示すものではありません
| bool QDomNode::isDocumentType() const |
本ノードが文章型である場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomDocumentType オブジェクトを示すものではありません
| bool QDomNode::isElement() const |
本ノードが要素である場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomElement オブジェクトを示すものではありません
| bool QDomNode::isEntity() const |
本ノードが実体である場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomEntity オブジェクトを示すものではありません
| bool QDomNode::isEntityReference() const |
本ノードが実体参照である場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomEntityReference オブジェクトを示すものではありません
| bool QDomNode::isNotation() const |
本ノードがNOTATIONである場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomNotation オブジェクトを示すものではありません
| bool QDomNode::isProcessingInstruction() const |
| bool QDomNode::isText() const |
本ノードがテキストである場合はtrue、そうでない場合はfalseを返します
trueを返した場合でも本ノードが
QDomText オブジェクトを示すものではありません
変換する
| QDomCDATASection QDomNode::toCDATASection() const |
| QDomCharacterData QDomNode::toCharacterData() const |
| QDomComment QDomNode::toComment() const |
QDomNode を子クラスである
QDomComment オブジェクトに変換します
本ノードが属性でない場合、
nullノードを返します
| QDomDocument QDomNode::toDocument() const |
QDomNode を子クラスである
QDomDocument オブジェクトに変換します
本ノードが属性でない場合、
nullノードを返します
| QDomDocumentFragment QDomNode::toDocumentFragment() const |
| QDomDocumentType QDomNode::toDocumentType() const |
| QDomElement QDomNode::toElement() const |
QDomNode を子クラスである
QDomElement オブジェクトに変換します
本ノードが属性でない場合、
nullノードを返します
| QDomEntity QDomNode::toEntity() const |
QDomNode を子クラスである
QDomEntity オブジェクトに変換します
本ノードが属性でない場合、
nullノードを返します
| QDomEntityReference QDomNode::toEntityReference() const |
| QDomNotation QDomNode::toNotation() const |
QDomNode を子クラスである
QDomNotation オブジェクトに変換します
本ノードが属性でない場合、
nullノードを返します
| QDomProcessingInstruction QDomNode::toProcessingInstruction() const |
| QDomText QDomNode::toText() const |
QDomNode を子クラスである
QDomText オブジェクトに変換します
本ノードが属性でない場合、
nullノードを返します
| QDomAttr QDomNode::toAttr() const |
QDomNode を子クラスである
QDomAttr オブジェクトに変換します
本ノードが属性でない場合、
nullノードを返します
その他
| bool QDomNode::isSupported(const QString & feature, const QString & version) const |
機能 feature がXMLDOMレベル version でサポートされている場合はtrue、そうでない場合はfalseを返します
| int QDomNode::columnNumber() const |
QDomDocument::setContent()で自動生成されたノードの場合、対応したXML文章上の列番号を返します
それ以外の手段で生成されたノードの場合は-1を返します
| int QDomNode::lineNumber() const |
QDomDocument::setContent()で自動生成されたノードの場合、対応したXML文章上の行番号を返します
それ以外の手段で生成されたノードの場合は-1を返します
| void QDomNode::normalize() |
本ノード以下のすべてのノードを標準化します
連続した
QDomText オブジェクトは一つに統合されます
演算子
| bool QDomNode::operator!=(const QDomNode & n) const |
| bool QDomNode::operator==(const QDomNode & n) const |
| QDomNode & QDomNode::operator=(const QDomNode & n) |
最終更新:2014年05月28日 22:16