TNB Library
公開型 | 公開メンバ関数 | 全メンバ一覧
CXmlNodeList クラス

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

#include <TnbXml.h>

公開型

enum  ENodeType { ELEMENT , TEXT , COMMENT }
 ノード種類型 [詳解]
 

公開メンバ関数

CXmlNodePtr AppendNode (CXmlNodePtr newItem)
 [追加] ノード追加. [詳解]
 
CXmlNodePtr AppendNode (ENodeType type, LPCTSTR text)
 [追加] ノード追加. [詳解]
 
 CXmlNodeList (MSXML::IXMLDOMNodeListPtr na, CXmlNodePtr pp, MSXML::IXMLDOMDocumentPtr dc=NULL)
 コンストラクタ [詳解]
 
size_t GetLength (void) const
 [取得] 管理ノード数取得. [詳解]
 
CXmlNodePtr GetNode (INDEX index) const
 [取得] ノード取得. [詳解]
 
MSXML::DOMNodeType GetNodeType (INDEX index) const
 [取得] ノードタイプ取得. [詳解]
 
CXmlNodePtr InsertNode (INDEX index, CXmlNodePtr newItem)
 [追加] ノード追加. [詳解]
 
CXmlNodePtr InsertNode (INDEX index, ENodeType type, LPCTSTR text)
 [追加] ノード追加. [詳解]
 
bool IsValid (void) const
 [確認] 有効確認. [詳解]
 
MSXML::IXMLDOMNodeListPtr operator-> (void)
 [取得] ポインタハンドル取得. [詳解]
 
void RemoveNode (INDEX index)
 [削除] ノード削除. [詳解]
 
void ReplaceNode (INDEX index1, INDEX index2)
 [操作] ノード入れ替え. [詳解]
 

詳解

XML ノードリスト管理クラス

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

本クラスのインスタンスでは複数のノードをまとめて管理します。
覚え書き
Element, TEXT, COMMENT などのノードを追加できます。
インスタンスは CXmlElement::GetChildNodes() より作成されます。 直接を作ることはありません。
例外
_com_error失敗するとスローされます。
必要ファイル
TnbXml.h
日付
07/05/21 新規

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

列挙型メンバ詳解

◆ ENodeType

enum ENodeType

ノード種類型

列挙値
ELEMENT 

Element

TEXT 

文字列

COMMENT 

コメント

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

構築子と解体子

◆ CXmlNodeList()

CXmlNodeList ( MSXML::IXMLDOMNodeListPtr  na,
CXmlNodePtr  pp,
MSXML::IXMLDOMDocumentPtr  dc = NULL 
)

コンストラクタ

引数
naIXMLDOMNodeList のポインタハンドル。
ppna の Parent ノードのポインタハンドル。
dcna の Document のポインタハンドル。省略すると、 pp から取得します。

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

関数詳解

◆ AppendNode() [1/2]

CXmlNodePtr AppendNode ( CXmlNodePtr  newItem)

[追加] ノード追加.

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

引数
newItem追加するノード。
戻り値
ノード(追加された実態のノードの参照)。 CXmlNode , CXmlElement などで受けることも出来ます。

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

◆ AppendNode() [2/2]

CXmlNodePtr AppendNode ( ENodeType  type,
LPCTSTR  text 
)

[追加] ノード追加.

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

引数
type追加するタイプ。
text追加する文字列。
戻り値
ノード(追加された実態のノードの参照)。 CXmlNode , CXmlElement で受けることも出来ます。

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

◆ GetLength()

size_t GetLength ( void  ) const

[取得] 管理ノード数取得.

本インスタンスで管理しているノード数を取得することが出来ます。

戻り値
ノード数。

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

◆ GetNode()

CXmlNodePtr GetNode ( INDEX  index) const

[取得] ノード取得.

本インスタンスで管理しているノードを取得することが出来ます。

引数
indexインデックス。0〜 GetLength() -1 まで。
戻り値
ノード。 CXmlNode , CXmlElement で受けることも出来ます。

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

◆ GetNodeType()

MSXML::DOMNodeType GetNodeType ( INDEX  index) const

[取得] ノードタイプ取得.

本インスタンスで管理しているノードのタイプを取得します。

引数
indexインデックス。0〜 GetLength()-1 まで。
戻り値
MSXML::NODE_INVALID無効
MSXML::NODE_ELEMENT要素
MSXML::NODE_ATTRIBUTE属性
MSXML::NODE_TEXT文字列
MSXML::NODE_CDATA_SECTIONCDATA
MSXML::NODE_ENTITY_REFERENCE
MSXML::NODE_ENTITY
MSXML::NODE_PROCESSING_INSTRUCTION
MSXML::NODE_COMMENTコメント
MSXML::NODE_DOCUMENTドキュメント
MSXML::NODE_DOCUMENT_TYPE
MSXML::NODE_DOCUMENT_FRAGMENT
MSXML::NODE_NOTATION特殊

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

◆ InsertNode() [1/2]

CXmlNodePtr InsertNode ( INDEX  index,
CXmlNodePtr  newItem 
)

[追加] ノード追加.

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

引数
index追加するインデックス。追加したノードのインデックスになります。
newItem追加するノード。
戻り値
ノード(追加された実態のノードの参照)。 CXmlNode , CXmlElement で受けることも出来ます。

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

◆ InsertNode() [2/2]

CXmlNodePtr InsertNode ( INDEX  index,
ENodeType  type,
LPCTSTR  text 
)

[追加] ノード追加.

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

引数
index追加するインデックス。追加したノードのインデックスになります。
type追加するタイプ。
text追加する文字列。
戻り値
ノード(追加された実態のノードの参照)。 CXmlNode , CXmlElement で受けることも出来ます。

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

◆ IsValid()

bool IsValid ( void  ) const

[確認] 有効確認.

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

戻り値
true有効。
false無効。

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

◆ operator->()

MSXML::IXMLDOMNodeListPtr operator-> ( void  )

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

本インスタンスで管理している IXMLDOMNodeList ポインタハンドルを得ることが出来ます。

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

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

◆ RemoveNode()

void RemoveNode ( INDEX  index)

[削除] ノード削除.

引数
index削除するインデックス。

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

◆ ReplaceNode()

void ReplaceNode ( INDEX  index1,
INDEX  index2 
)

[操作] ノード入れ替え.

本インスタンスで管理しているノード群の2つの指定のノードを入れ替えます。

引数
index1入れ替え対象のノードのインデックスになります。
index2入れ替え対象のノードのインデックスになります。

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