「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て指定したエンコーディング形式を使用