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() を使用します
enum QDomNode::NodeType |
返り値 |
QDomAttr |
属性名 |
QDomCDATASection |
"#cdata-section" |
QDomComment |
"#comment" |
QDomDocument |
"#document" |
QDomDocumentFragment |
"#document*fragment" |
QDomDocumentType |
文章型名 |
QDomElement |
タグ名 |
QDomEntity |
実体名 |
QDomEntityReference |
参照された実体名 |
QDomNotation |
記法名 |
QDomProcessingInstruction |
処理命令のターゲット |
QDomText |
"#text" |
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