TNB Library
公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
CXmlElement クラス

XML Element ノード管理クラス [詳解]

#include <TnbXml.h>

+ CXmlElement の継承関係図

公開メンバ関数

CXmlComment AppendChildComment (LPCTSTR text)
 [追加] コメント子ノード追加. [詳解]
 
CXmlElement AppendChildElement (LPCTSTR text)
 [追加] Element 子ノード追加. [詳解]
 
CXmlNode AppendChildNode (CAbstractXmlNode &a)
 [追加] 子ノード追加. [詳解]
 
CXmlText AppendChildText (LPCTSTR text)
 [追加] テキスト子ノード追加. [詳解]
 
CXmlNode Clone (bool boIsDeep=true) const
 [作成] クローン作成. [詳解]
 
 CXmlElement (CXmlNode n)
 コンストラクタ [詳解]
 
 CXmlElement (void)
 コンストラクタ [詳解]
 
CXmlAttribute GetAttribute (INDEX index) const
 [取得] 属性取得. [詳解]
 
CXmlAttribute GetAttributeByName (LPCTSTR name) const
 [取得] 属性取得. [詳解]
 
long GetAttributeLength (void) const
 [取得] 属性数取得. [詳解]
 
CStr GetAttributeValue (LPCTSTR name) const
 [取得] 属性値取得. [詳解]
 
CXmlNodeList GetChildNodes (void) const
 [取得] 子ノード群取得. [詳解]
 
CStr GetElementFullPath (void) const
 [作成] ルートからの Element名. [詳解]
 
CXmlNode GetFirstChild (void) const
 [取得] 最初の子ノード取得. [詳解]
 
CXmlNodePtr GetNextSibling (void) const
 [取得] 隣のノード取得. [詳解]
 
CStr GetNodeName (void) const
 [取得] 名前取得. [詳解]
 
CStr GetNodeValue (void) const
 [取得] 値取得. [詳解]
 
CXmlElement GetParentNode (void) const
 [取得] 親 Element ノード取得. [詳解]
 
bool HasChildNodes (void) const
 [確認] 子ノード有無確認. [詳解]
 
void Invalid (void)
 [設定] 無効化. [詳解]
 
bool IsValid (void) const
 [確認] 有効確認. [詳解]
 
CXmlNodePtr operator-> (void)
 [取得] ポインタハンドル取得. [詳解]
 
CXmlElementoperator= (CXmlNode n)
 [代入] 代入 [詳解]
 
void Remove (void)
 [削除] 自分自身を削除. [詳解]
 
bool RemoveAttribute (LPCTSTR name)
 [設定] 属性削除. [詳解]
 
void Rename (LPCTSTR newName)
 [変更] 名前変更. [詳解]
 
CXmlNodeList SelectNodes (LPCTSTR expression) const
 [検索] 条件一致ノード検索. [詳解]
 
CXmlNode SelectSingleNode (LPCTSTR expression) const
 [検索] 条件一致ノード検索. [詳解]
 
CXmlAttribute SetAttribute (LPCTSTR name, LPCTSTR value)
 [設定] 属性設定. [詳解]
 

限定公開変数類

MSXML::IXMLDOMNamedNodeMapPtr m_pAttr
 ノード名前マップクラスのポインタハンドル [詳解]
 
CXmlNodePtr m_pNode
 ノードクラスのポインタハンドル [詳解]
 

詳解

XML Element ノード管理クラス

XML の管理クラスの一つ。XMLパーサのクラスをラップしていています。

本クラスのインスタンスでは Element ノードを一つを管理します。
覚え書き
インスタンスは基本的に CXmlElement::AppendChildElement() の戻り値や CXmlNodeList から作成したり、 CXmlNode を代入宣言します。
子ノード操作は、 CXmlNodeList を取得して行います。
例外
_com_error失敗するとスローされます。
必要ファイル
TnbXml.h
日付
07/05/21 新規

TnbXml.h979 行目に定義があります。

構築子と解体子

◆ CXmlElement() [1/2]

CXmlElement ( void  )

コンストラクタ

覚え書き
無効なインスタンスに成ります。

TnbXml.h988 行目に定義があります。

◆ CXmlElement() [2/2]

コンストラクタ

覚え書き
指定のノードが Element ノードではない時、無効なインスタンスに成ります。
引数
nノード管理クラス

TnbXml.h997 行目に定義があります。

関数詳解

◆ AppendChildComment()

CXmlComment AppendChildComment ( LPCTSTR  text)

[追加] コメント子ノード追加.

本インスタンスで管理している子ノード群の最尾後に指定のノードを追加します。

引数
text追加するコメント文字列。
戻り値
ノード(追加された実態のノードの参照)。

TnbXml.h1144 行目に定義があります。

◆ AppendChildElement()

CXmlElement AppendChildElement ( LPCTSTR  text)

[追加] Element 子ノード追加.

本インスタンスで管理している子ノード群の最尾後に指定のノードを追加します。

引数
text追加する Element 文字列。
戻り値
ノード(追加された実態のノードの参照)。

TnbXml.h1166 行目に定義があります。

◆ AppendChildNode()

CXmlNode AppendChildNode ( CAbstractXmlNode a)

[追加] 子ノード追加.

本インスタンスで管理している子ノード群の最尾後に指定のノードを追加します。

注意
追加するノードが、すでにドキュメント下にある場合、複製されずに移動になります。
覚え書き
a に CXmlDocumentFragment インスタンスを指定した場合、ぶら下がっているノードがすべて本インスタンス管理ノード下に移動し、 CXmlDocumentFragment インスタンスは空っぽになります。
引数
a追加する ノード。
戻り値
ノード(追加された実態のノードの参照)。

TnbXml.h1180 行目に定義があります。

◆ AppendChildText()

CXmlText AppendChildText ( LPCTSTR  text)

[追加] テキスト子ノード追加.

本インスタンスで管理している子ノード群の最尾後に指定のノードを追加します。

引数
text追加するテキスト文字列。
戻り値
ノード(追加された実態のノードの参照)。

TnbXml.h1155 行目に定義があります。

◆ Clone()

CXmlNode Clone ( bool  boIsDeep = true) const

[作成] クローン作成.

本インスタンスで保持しているノードを複製します。

覚え書き
通常、複製したノードは、他のElementノードに AppendChildNode() します。
引数
boIsDeep省略するか true なら、本インスタンスが保持しているノード以下、すべてを複製します。 false なら、保持しているノードのみ複製します。
戻り値
ノード(追加された実態のノードの参照)。

TnbXml.h1133 行目に定義があります。

◆ GetAttribute()

CXmlAttribute GetAttribute ( INDEX  index) const
inherited

[取得] 属性取得.

本インスタンスで保持しているノードの保持する属性をインデックス指定で取得することが出来ます。

引数
indexインデックス。0〜 GetAttributeLength()-1 まで。
戻り値
属性。

TnbXml.h881 行目に定義があります。

◆ GetAttributeByName()

CXmlAttribute GetAttributeByName ( LPCTSTR  name) const
inherited

[取得] 属性取得.

本インスタンスで保持しているノードの保持する属性を名前指定で取得することが出来ます。

引数
name名前。
戻り値
属性。指定の名前の属性がない場合、無効な属性管理インスタンスが返ります。

TnbXml.h896 行目に定義があります。

◆ GetAttributeLength()

long GetAttributeLength ( void  ) const
inherited

[取得] 属性数取得.

本インスタンスで保持しているノードの保持する属性数を取得することが出来ます。

戻り値
属性数。

TnbXml.h866 行目に定義があります。

◆ GetAttributeValue()

CStr GetAttributeValue ( LPCTSTR  name) const
inherited

[取得] 属性値取得.

本インスタンスで保持しているノードの保持する指定の属性の値を取得することが出来ます。

引数
name名前。
戻り値
値。指定の属性がない場合、Empty文字列が返ります。

TnbXml.h911 行目に定義があります。

◆ GetChildNodes()

CXmlNodeList GetChildNodes ( void  ) const

[取得] 子ノード群取得.

本インスタンスで保持しているノードの下にぶら下がるノード一覧を取得します。

戻り値
ノード一覧。

TnbXml.h1088 行目に定義があります。

◆ GetElementFullPath()

CStr GetElementFullPath ( void  ) const
inherited

[作成] ルートからの Element名.

自分自身がある階層を、Element 名の連結で表します。

ex)
/root/sub1/sub2
戻り値
Element階層名

TnbXml.h498 行目に定義があります。

◆ GetFirstChild()

CXmlNode GetFirstChild ( void  ) const

[取得] 最初の子ノード取得.

覚え書き
なければ、無効な ノードが返ります。
戻り値
ノード。

TnbXml.h1078 行目に定義があります。

◆ GetNextSibling()

CXmlNodePtr GetNextSibling ( void  ) const
inherited

[取得] 隣のノード取得.

覚え書き
隣のノードがない場合、無効な CXmlNode が返ります。
戻り値
ノード。

TnbXml.h486 行目に定義があります。

◆ GetNodeName()

CStr GetNodeName ( void  ) const
inherited

[取得] 名前取得.

本インスタンスで保持しているノードの名前を取得します。

覚え書き
ノードのタイプによって名前の意味は異なります。
戻り値
名前。

TnbXml.h440 行目に定義があります。

◆ GetNodeValue()

CStr GetNodeValue ( void  ) const
inherited

[取得] 値取得.

本インスタンスで保持しているノードの値を取得します。

覚え書き
ノードのタイプによって値の意味は異なります。
戻り値
値。

TnbXml.h453 行目に定義があります。

◆ GetParentNode()

CXmlElement GetParentNode ( void  ) const

[取得] 親 Element ノード取得.

本インスタンスで保持しているノードの親 Element ノードを取得します。

戻り値
Element ノード。親がない場合、無効状態のインスタンスが返ります。

TnbXml.h1120 行目に定義があります。

◆ HasChildNodes()

bool HasChildNodes ( void  ) const

[確認] 子ノード有無確認.

本インスタンスで保持しているノードの下にぶら下がるノードの有無を確認します。

戻り値
true子ノードあり。
false子ノードなし。

TnbXml.h1067 行目に定義があります。

◆ Invalid()

void Invalid ( void  )
inherited

[設定] 無効化.

TnbXml.h429 行目に定義があります。

◆ IsValid()

bool IsValid ( void  ) const
inherited

[確認] 有効確認.

本インスタンスが有効な情報を保持しているか、確認できます。

戻り値
true有効。
false無効。

TnbXml.h421 行目に定義があります。

◆ operator->()

CXmlNodePtr operator-> ( void  )
inherited

[取得] ポインタハンドル取得.

本インスタンスで保持している CXmlNodePtr を得ることが出来ます。

覚え書き
直接 XMLパーサのメソッドを使用できます。
戻り値
ノードポインタハンドル

TnbXml.h410 行目に定義があります。

◆ operator=()

CXmlElement & operator= ( CXmlNode  n)

[代入] 代入

引数
nノード管理
戻り値
自分の参照

TnbXml.h1011 行目に定義があります。

◆ Remove()

void Remove ( void  )
inherited

[削除] 自分自身を削除.

以下にぶら下がるノードがあれば、それも消えます。

覚え書き
本インスタンスは無効状態になります。以降の操作が出来ません。

TnbXml.h465 行目に定義があります。

◆ RemoveAttribute()

bool RemoveAttribute ( LPCTSTR  name)
inherited

[設定] 属性削除.

本インスタンスで保持している、指定の名前のノードを削除します。

引数
name名前。
戻り値
true削除成功。
false失敗 or 指定の名の属性なし。

TnbXml.h944 行目に定義があります。

◆ Rename()

void Rename ( LPCTSTR  newName)

[変更] 名前変更.

本インスタンスで保持しているノードの名前を変更します。

引数
newName新しい名前

TnbXml.h1031 行目に定義があります。

◆ SelectNodes()

CXmlNodeList SelectNodes ( LPCTSTR  expression) const

[検索] 条件一致ノード検索.

本インスタンスで保持しているドキュメントの下にぶら下がるノードで検索式に合うノード一覧を作成します。

引数
expression検索式(XPath式)
戻り値
ノード一覧。

TnbXml.h1099 行目に定義があります。

◆ SelectSingleNode()

CXmlNode SelectSingleNode ( LPCTSTR  expression) const

[検索] 条件一致ノード検索.

本インスタンスで保持しているドキュメントの下にぶら下がるノードで検索式に合うノードを取得します。

引数
expression検索式(XPath式)
戻り値
ノード。

TnbXml.h1110 行目に定義があります。

◆ SetAttribute()

CXmlAttribute SetAttribute ( LPCTSTR  name,
LPCTSTR  value 
)
inherited

[設定] 属性設定.

本インスタンスで保持しているノードに属性を追加できます。

覚え書き
同じ名前なら値が更新されます。
引数
name名前。
value値。
戻り値
実際に登録した属性を保持する属性管理インスタンス。

TnbXml.h925 行目に定義があります。

メンバ詳解

◆ m_pAttr

MSXML::IXMLDOMNamedNodeMapPtr m_pAttr
protectedinherited

ノード名前マップクラスのポインタハンドル

TnbXml.h815 行目に定義があります。

◆ m_pNode

CXmlNodePtr m_pNode
protectedinherited

ノードクラスのポインタハンドル

TnbXml.h381 行目に定義があります。