QDomNode

「QDomNode」の編集履歴(バックアップ)一覧はこちら

QDomNode - (2014/05/28 (水) 21:17:49) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

*注意 **cloneNode()以外はシャローコピーです 返り値であるオブジェクトを変更すると、DOMツリー上のオブジェクトも変更されます。 **nullノードとは isNull()の値がtrueである空のノードです ---- *基本 **コンストラクタ QDomNode::QDomNode() nullノードを作成します **コピーコンストラクタ QDomNode::QDomNode(const QDomNode & n) オブジェクトはシャローコピーされます ディープコピーをする場合はcloneNode()を使用します **デストラクタ QDomNode::~QDomNode() *ノードに関する情報を取得する **型を取得する 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]] オブジェクトまたは [[QDomAttribute]] オブジェクトのみ名前空間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]] オブジェクト または [[QDomAttribute]] オブジェクトのみ名前空間を持つことができます 名前空間はノード生成時に指定されなければならず、後から名前空間を指定することはできません ---- *関係するノードを取得する **ルートノードを取得する 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 本ノードの直接の子ノードのリストを取得します 子ノードが存在しない場合は空の [[QDomNodeList]] を返します QDomNode QDomNode::firstChild() const 本ノードの最初の子ノードを取得します 子ノードが存在しない場合はnullノードを返します QDomNode QDomNode::lastChild() const 本ノードの最後の子ノードを取得します 子ノードがない場合はnullノードを返します QDomNode QDomNode::namedItem(const QString & name) const nodeName() の値が name と等しい最初に見つかった子ノードを取得します 該当するノードが存在しない場合はnullノードを返します ノード名とは nodeName() で得られる値です ***子ノードを削除する QDomNode QDomNode::removeChild(const QDomNode & 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 すべての属性の名前付きノードマップを取得します 属性は QDomElements オブジェクトでのみ提供されます ***属性があるかチェックする bool QDomNode::hasAttributes() const 本ノードが属性を持っている場合はtrue、そうでない場合はfalseを返します **値 ***値を取得する QString QDomNode::nodeValue() const 本ノードの値を取得します 値の意味はノードのオブジェクトによって異なります 以下以外の子クラスでは空の文字列を返します |QDomAttr|属性値| |QDomCDATASection|CDATAセクションのコンテンツ| |QDomComment|コメント| |QDomProcessingInstruction|命令処理のデータ| |QDomText|テキスト| ***値を設定する void QDomNode::setNodeValue(const QString & v) 本ノードに値を設定します *メソッド **クリアする void QDomNode::clear() 本ノードをnullノードにします 本ノードが所持しているコンテンツや型などは削除されます **コピーする QDomNode QDomNode::cloneNode(bool deep = true) const QDomNodeのディープコピーを作成します deep=trueの場合、子ノード以下もすべてコピーされます deep=falseの場合、本ノードのみコピーされます **オブジェクトのタイプを判定する bool QDomNode::isNull() const 本ノードがnullノードである場合はtrue、そうでない場合はfalseを返します bool QDomNode::isAttr() const 本ノードが属性である場合はtrue、そうでない場合はfalseを返します trueを返した場合でも本ノードが QDomAttribute オブジェクトであることを示すものではありません 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 本ノードが処理命令である場合はtrue、そうでない場合はfalseを返します trueを返した場合でも本ノードが QDomProcessingInstruction オブジェクトを示すものではありません bool QDomNode::isText() const 本ノードがテキストである場合はtrue、そうでない場合はfalseを返します trueを返した場合でも本ノードがQDomTextオブジェクトを示すものではありません **変換する QDomCDATASection QDomNode::toCDATASection() const QDomNode を子クラスである QDomCDATASection に変換します 本ノードが属性でない場合、nullノードを返します QDomCharacterData QDomNode::toCharacterData() const QDomNode を子クラスである QDomCharacterData に変換します 本ノードが属性でない場合、nullノードを返します QDomComment QDomNode::toComment() const QDomNode を子クラスである QDomComment に変換します 本ノードが属性でない場合、nullノードを返します QDomDocument QDomNode::toDocument() const QDomNode を子クラスである QDomDocument に変換します 本ノードが属性でない場合、nullノードを返します QDomDocumentFragment QDomNode::toDocumentFragment() const QDomNode を子クラスである QDomDocumentFragment に変換します 本ノードが属性でない場合、nullノードを返します QDomDocumentType QDomNode::toDocumentType() const QDomNode を子クラスである QDomDocumentType に変換します 本ノードが属性でない場合、nullノードを返します QDomElement QDomNode::toElement() const QDomNode を子クラスである QDomElement に変換します 本ノードが属性でない場合、nullノードを返します QDomEntity QDomNode::toEntity() const QDomNode を子クラスである QDomEntity に変換します 本ノードが属性でない場合、nullノードを返します QDomEntityReference QDomNode::toEntityReference() const QDomNode を子クラスである QDomEntityReference に変換します 本ノードが属性でない場合、nullノードを返します QDomNotation QDomNode::toNotation() const QDomNode を子クラスである QDomNotation に変換します 本ノードが属性でない場合、nullノードを返します QDomProcessingInstruction QDomNode::toProcessingInstruction() const QDomNode を子クラスである QDomProcessingInstruction に変換します 本ノードが属性でない場合、nullノードを返します 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を返します **演算子 bool QDomNode::operator!=(const QDomNode & n) const bool QDomNode::operator==(const QDomNode & n) const QDomNode & QDomNode::operator=(const QDomNode & n) ---- 以下未整理 void QDomNode::normalize() 要素ノードで呼ばれた場合、すべての子を標準形に変換します つまり、隣接したQDomTextオブジェクトは一つに統合されます void QDomNode::save(QTextStream & stream, int indent, EncodingPolicy encodingPolicy = QDomNode::EncodingFromDocument) const ノード及びすべての子ノードをXMLで表現しなおしたものをstreamで指定したストリームに書き込みます indentではノードのインデントに使用します空白の量を指定します 文章に無効なXML文字及び与えられた文字コードでエンコードできない文字が含まれる場合の挙動は定義されていません encodingPolicy がQDomNode::EncodingFromDocumentであり、本ノードがドキュメントノードである場合、 テキストストリームの文字コードはXML宣言の名前xmlによって処理命令を扱うことによって設定されます 指定されていない場合はUTF8をデフォルトを指定します しかしこの挙動は歴史的な理由です 本ノードがドキュメントノードでない場合、テキストストリームの文字コードを使用します encodingPolicy が EncodingFromTextStreamであり、本ノードがドキュメントノードである場合、 この関数の挙動はテキストストリームstreamで指定された文字コードを使用しますこと以外は、save(QTextStream &str, int indent)と同じに振るまいます 文章に無効なXML文字及び与えられた文字コードでエンコードできない文字が含まれる場合の挙動は定義されていません enum QDomNode::EncodingPolicy QDomNode::save()で文章を保存します際のエンコーディング形式 QDomNode::EncodingFromDocument 1 文章のエンコーディング形式を使用 QDomNode::EncodingFromTextStream 2 QTextStreamて指定したエンコーディング形式を使用
*注意 **cloneNode()以外はシャローコピーです 返り値であるオブジェクトを変更すると、DOMツリー上のオブジェクトも変更されます。 **nullノードとは isNull()の値がtrueである空のノードです ---- *基本 **コンストラクタ QDomNode::QDomNode() nullノードを作成します **コピーコンストラクタ QDomNode::QDomNode(const QDomNode & n) オブジェクトはシャローコピーされます ディープコピーをする場合はcloneNode()を使用します **デストラクタ QDomNode::~QDomNode() *ノードに関する情報を取得する **型を取得する 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 本ノードの直接の子ノードのリストを取得します 子ノードが存在しない場合は空の [[QDomNodeList]] を返します QDomNode QDomNode::firstChild() const 本ノードの最初の子ノードを取得します 子ノードが存在しない場合はnullノードを返します QDomNode QDomNode::lastChild() const 本ノードの最後の子ノードを取得します 子ノードがない場合はnullノードを返します QDomNode QDomNode::namedItem(const QString & name) const nodeName() の値が name と等しい最初に見つかった子ノードを取得します 該当するノードが存在しない場合はnullノードを返します ノード名とは nodeName() で得られる値です ***子ノードを削除する QDomNode QDomNode::removeChild(const QDomNode & 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 すべての属性の名前付きノードマップを取得します 属性は QDomElements オブジェクトでのみ提供されます ***属性があるかチェックする bool QDomNode::hasAttributes() const 本ノードが属性を持っている場合はtrue、そうでない場合はfalseを返します **値 ***値を取得する QString QDomNode::nodeValue() const 本ノードの値を取得します 値の意味はノードのオブジェクトによって異なります 以下以外の子クラスでは空の文字列を返します |QDomAttr|属性値| |QDomCDATASection|CDATAセクションのコンテンツ| |QDomComment|コメント| |QDomProcessingInstruction|命令処理のデータ| |QDomText|テキスト| ***値を設定する void QDomNode::setNodeValue(const QString & v) 本ノードに値を設定します *メソッド **クリアする void QDomNode::clear() 本ノードをnullノードにします 本ノードが所持しているコンテンツや型などは削除されます **コピーする QDomNode QDomNode::cloneNode(bool deep = true) const QDomNodeのディープコピーを作成します deep=trueの場合、子ノード以下もすべてコピーされます deep=falseの場合、本ノードのみコピーされます **オブジェクトのタイプを判定する bool QDomNode::isNull() const 本ノードがnullノードである場合はtrue、そうでない場合はfalseを返します bool QDomNode::isAttr() const 本ノードが属性である場合はtrue、そうでない場合はfalseを返します trueを返した場合でも本ノードが QDomAttribute オブジェクトであることを示すものではありません 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 本ノードが処理命令である場合はtrue、そうでない場合はfalseを返します trueを返した場合でも本ノードが QDomProcessingInstruction オブジェクトを示すものではありません bool QDomNode::isText() const 本ノードがテキストである場合はtrue、そうでない場合はfalseを返します trueを返した場合でも本ノードがQDomTextオブジェクトを示すものではありません **変換する QDomCDATASection QDomNode::toCDATASection() const QDomNode を子クラスである QDomCDATASection に変換します 本ノードが属性でない場合、nullノードを返します QDomCharacterData QDomNode::toCharacterData() const QDomNode を子クラスである QDomCharacterData に変換します 本ノードが属性でない場合、nullノードを返します QDomComment QDomNode::toComment() const QDomNode を子クラスである QDomComment に変換します 本ノードが属性でない場合、nullノードを返します QDomDocument QDomNode::toDocument() const QDomNode を子クラスである QDomDocument に変換します 本ノードが属性でない場合、nullノードを返します QDomDocumentFragment QDomNode::toDocumentFragment() const QDomNode を子クラスである QDomDocumentFragment に変換します 本ノードが属性でない場合、nullノードを返します QDomDocumentType QDomNode::toDocumentType() const QDomNode を子クラスである QDomDocumentType に変換します 本ノードが属性でない場合、nullノードを返します QDomElement QDomNode::toElement() const QDomNode を子クラスである QDomElement に変換します 本ノードが属性でない場合、nullノードを返します QDomEntity QDomNode::toEntity() const QDomNode を子クラスである QDomEntity に変換します 本ノードが属性でない場合、nullノードを返します QDomEntityReference QDomNode::toEntityReference() const QDomNode を子クラスである QDomEntityReference に変換します 本ノードが属性でない場合、nullノードを返します QDomNotation QDomNode::toNotation() const QDomNode を子クラスである QDomNotation に変換します 本ノードが属性でない場合、nullノードを返します QDomProcessingInstruction QDomNode::toProcessingInstruction() const QDomNode を子クラスである QDomProcessingInstruction に変換します 本ノードが属性でない場合、nullノードを返します 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を返します **演算子 bool QDomNode::operator!=(const QDomNode & n) const bool QDomNode::operator==(const QDomNode & n) const QDomNode & QDomNode::operator=(const QDomNode & n) ---- 以下未整理 void QDomNode::normalize() 要素ノードで呼ばれた場合、すべての子を標準形に変換します つまり、隣接したQDomTextオブジェクトは一つに統合されます void QDomNode::save(QTextStream & stream, int indent, EncodingPolicy encodingPolicy = QDomNode::EncodingFromDocument) const ノード及びすべての子ノードをXMLで表現しなおしたものをstreamで指定したストリームに書き込みます indentではノードのインデントに使用します空白の量を指定します 文章に無効なXML文字及び与えられた文字コードでエンコードできない文字が含まれる場合の挙動は定義されていません encodingPolicy がQDomNode::EncodingFromDocumentであり、本ノードがドキュメントノードである場合、 テキストストリームの文字コードはXML宣言の名前xmlによって処理命令を扱うことによって設定されます 指定されていない場合はUTF8をデフォルトを指定します しかしこの挙動は歴史的な理由です 本ノードがドキュメントノードでない場合、テキストストリームの文字コードを使用します encodingPolicy が EncodingFromTextStreamであり、本ノードがドキュメントノードである場合、 この関数の挙動はテキストストリームstreamで指定された文字コードを使用しますこと以外は、save(QTextStream &str, int indent)と同じに振るまいます 文章に無効なXML文字及び与えられた文字コードでエンコードできない文字が含まれる場合の挙動は定義されていません enum QDomNode::EncodingPolicy QDomNode::save()で文章を保存します際のエンコーディング形式 QDomNode::EncodingFromDocument 1 文章のエンコーディング形式を使用 QDomNode::EncodingFromTextStream 2 QTextStreamて指定したエンコーディング形式を使用

表示オプション

横に並べて表示:
変化行の前後のみ表示: