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

XML ドキュメント管理クラス [詳解]

#include <TnbXml.h>

公開メンバ関数

CXmlDocumentFragment CreateDocumentFragment (void) const
 [作成] DocumentFragment作成. [詳解]
 
 CXmlDocument (void)
 コンストラクタ [詳解]
 
CXmlNodeList GetChildNodes (void) const
 [取得] 子ノード群取得. [詳解]
 
CXmlNodeList GetElementsByTagName (LPCTSTR name) const
 [検索] 条件一致ノード検索. [詳解]
 
DWORD GetLastError (void) const
 [取得] エラーコード [詳解]
 
CStr GetLastErrorString (void) const
 [取得] エラーコード文字列 [詳解]
 
CXmlProcessingInstruction GetProcessingInstruction (void) const
 [取得] ProcessingInstruction ノード取得. [詳解]
 
CXmlElement GetRootElement (void) const
 [取得] Element ノード取得. [詳解]
 
void Initialize (LPCTSTR lpszRootElementName, LPCTSTR lpszComment=NULL, LPCTSTR lpszTarget=NULL, LPCTSTR lpszData=NULL)
 [操作] 初期化 [詳解]
 
void InitializeXml (LPCTSTR lpszRootElementName, LPCTSTR lpszComment=NULL)
 [操作] 初期化 [詳解]
 
void Invalid (void)
 [設定] 無効化. [詳解]
 
bool IsValid (void) const
 [確認] 有効確認. [詳解]
 
bool LoadFile (LPCTSTR lpszFileName)
 [設定] XMLファイル読込 [詳解]
 
bool LoadXml (LPCTSTR lpszXml)
 [設定] XMLテキスト読込 [詳解]
 
bool SaveFile (LPCTSTR lpszFileName, bool boIsUtf8=true) const
 [作成] XMLファイル作成 [詳解]
 
bool SaveFileEx (LPCTSTR lpszFileName, bool boIsUtf8=true) const
 [作成] XMLファイル作成 [詳解]
 
CXmlNodeList SelectNodes (LPCTSTR expression) const
 [検索] 条件一致ノード検索. [詳解]
 
CXmlNode SelectSingleNode (LPCTSTR expression) const
 [検索] 条件一致ノード検索. [詳解]
 
CStr ToString (void) const
 [作成] XMLテキスト作成 [詳解]
 
virtual ~CXmlDocument (void)
 デストラクタ [詳解]
 

詳解

XML ドキュメント管理クラス

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

本クラスのインスタンスでは ドキュメント一つを管理します。
覚え書き
子ノードは直接追加できません。 GetRootElement() を用いて、 CXmlElement インスタンスを取得し、 これを操作します。
本インスタンスから作成されたノードなどのインスタンスが生きている間は、本インスタンスを 破棄しない様にしてください。
注意
異なる Document間でのノードの移動は出来ません。
本クラスのインスタンスから抽出されたインスタンスは、本インスタンスにリンクしており、 操作すると即影響を受けます。
例外
_com_error失敗するとスローされます。
必要ファイル
TnbXml.h
日付
07/05/21 新規
08/04/16 デストラクタの処理を改善

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

構築子と解体子

◆ CXmlDocument()

CXmlDocument ( void  )

コンストラクタ

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

◆ ~CXmlDocument()

virtual ~CXmlDocument ( void  )
virtual

デストラクタ

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

関数詳解

◆ CreateDocumentFragment()

CXmlDocumentFragment CreateDocumentFragment ( void  ) const

[作成] DocumentFragment作成.

戻り値
DocumentFragment

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

◆ GetChildNodes()

CXmlNodeList GetChildNodes ( void  ) const

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

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

戻り値
ノード一覧。

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

◆ GetElementsByTagName()

CXmlNodeList GetElementsByTagName ( LPCTSTR  name) const

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

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

引数
nameノード名。
戻り値
ノード一覧。

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

◆ GetLastError()

DWORD GetLastError ( void  ) const

[取得] エラーコード

戻り値
エラーコード

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

◆ GetLastErrorString()

CStr GetLastErrorString ( void  ) const

[取得] エラーコード文字列

戻り値
エラーコード文字列

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

◆ GetProcessingInstruction()

CXmlProcessingInstruction GetProcessingInstruction ( void  ) const

[取得] ProcessingInstruction ノード取得.

本インスタンスで保持しているドキュメントの直下にぶら下がる ProcessingInstruction ノード取得します。

戻り値
ProcessingInstruction 管理インスタンス

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

◆ GetRootElement()

CXmlElement GetRootElement ( void  ) const

[取得] Element ノード取得.

本インスタンスで保持しているドキュメントの直下にぶら下がる 唯一の Element ノード取得します。

戻り値
Element ノード管理

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

◆ Initialize()

void Initialize ( LPCTSTR  lpszRootElementName,
LPCTSTR  lpszComment = NULL,
LPCTSTR  lpszTarget = NULL,
LPCTSTR  lpszData = NULL 
)

[操作] 初期化

覚え書き
まっさらな XML を作成し、 Element を一つ作成します。
引数
lpszRootElementNameルート Element ノード名。
lpszCommentコメント。省略すると ルートにコメントは作成されません。
lpszTargetターゲット名。省略するとProcessingInstructionは作成されません。
lpszDataデータ名。省略するとProcessingInstructionは作成されません。

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

◆ InitializeXml()

void InitializeXml ( LPCTSTR  lpszRootElementName,
LPCTSTR  lpszComment = NULL 
)

[操作] 初期化

覚え書き
まっさらな XML を作成し、 Element を一つ作成します。
引数
lpszRootElementNameルート Element ノード名。
lpszCommentコメント。省略すると ルートにコメントは作成されません。

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

◆ Invalid()

void Invalid ( void  )

[設定] 無効化.

本インスタンスの保持している情報を無効にします。

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

◆ IsValid()

bool IsValid ( void  ) const

[確認] 有効確認.

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

戻り値
true有効。
false無効。

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

◆ LoadFile()

bool LoadFile ( LPCTSTR  lpszFileName)

[設定] XMLファイル読込

引数
lpszFileNameファイル名
戻り値
true成功
false失敗

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

◆ LoadXml()

bool LoadXml ( LPCTSTR  lpszXml)

[設定] XMLテキスト読込

引数
lpszXmlテキスト
戻り値
true成功
false失敗

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

◆ SaveFile()

bool SaveFile ( LPCTSTR  lpszFileName,
bool  boIsUtf8 = true 
) const

[作成] XMLファイル作成

引数
lpszFileNameファイル名
boIsUtf8false なら Shift-JISで作成されます。 省略か ture なら UTF-8 で作成されます。 ただし、ProcessingInstructionがない場合、 必ずUTF-8で作成されます。
戻り値
true成功
false失敗

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

◆ SaveFileEx()

bool SaveFileEx ( LPCTSTR  lpszFileName,
bool  boIsUtf8 = true 
) const

[作成] XMLファイル作成

覚え書き
改行やインデント付きで出力されます。
ProcessingInstruction ノードは必ず出力されます。
todo:
コメントノードが出力されません。
引数
lpszFileNameファイル名。既存のファイル名を指定すると削除して作成します。追記はされません。
boIsUtf8false なら Shift-JISで作成されます。 省略か ture なら UTF-8 で作成されます。
戻り値
true成功
false失敗

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

◆ SelectNodes()

CXmlNodeList SelectNodes ( LPCTSTR  expression) const

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

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

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

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

◆ SelectSingleNode()

CXmlNode SelectSingleNode ( LPCTSTR  expression) const

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

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

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

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

◆ ToString()

CStr ToString ( void  ) const

[作成] XMLテキスト作成

注意
encoding の属性は書き込まれません。もし、この文字列をファイルに書き出したい場合、 UTF-8 に変換してから書き出す必要があります(encoding のデフォルトは UTF-8だから)。
戻り値
文字列は XMLテキスト。失敗の場合Empty状態文字列が返ります。

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