前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework 4.1
SFXXMLText
[XML] Text ノードを表すクラスです。
#include <SFXXMLText.hpp>
class SFXXMLText : public SFXXMLNode;
SFMTYPEDEFCLASS(SFXXMLText)

継承図

SFXXMLText クラスの継承図

協調図

SFXXMLText クラスの協調図

解説

Text ノード(SFXXMLText) は、Element ノード(SFXXMLElement) または Attribute ノード (SFXXMLAttribute) の内容(文字列)を保持します。

参照

SFXXMLNode | SFXXMLAttribute | SFXXMLCDATASection | SFXXMLComment | SFXXMLDocument | SFXXMLDocumentFragment | SFXXMLDocumentType | SFXXMLElement | SFXXMLEntity | SFXXMLEntityReference | SFXXMLNotation | SFXXMLProcessingInstruction

メンバ

コンストラクタ/デストラクタ
SFXXMLText( SFXXMLDocumentPtr owner , SFXAnsiStringConstRef name )
SFXXMLText クラスのコンストラクタです。
SFXXMLText( SFXXMLTextConstRef other )
SFXXMLText クラスのコンストラクタです。
~SFXXMLText( Void )
SFXXMLText クラスのデストラクタです。
パブリック関数
Void AppendData( ACharConstPtr data )
指定したテキストをノードの値の末尾に追加します。
SFCError CloneNode( SFXXMLNodeHandle clonenode , Bool deep )
ノードのコピーを作成します。
Void DeleteData( SInt32 offset , SInt32 count )
ノードの値(テキスト)を一部削除します。
ACharConstPtr GetData( Void )
ノードの値を取得します。
SInt32 GetLength( Void )
テキストの長さを取得します。
SFXXMLNodePtr GetNextSibling( Void )
次の兄弟ノードを取得します。
ACharConstPtr GetNodeName( Void )
ノードの名前を取得します。
NodeType GetNodeType( Void )
ノード タイプを取得します。
ACharConstPtr GetNodeValue( Void )
ノードの値を取得します。
SFXXMLNodePtr GetParentNode( Void )
親ノードを取得します。
SFXXMLNodePtr GetPreviousSibling( Void )
前の兄弟ノードを取得します。
Void InsertData( SInt32 offset , ACharConstPtr data )
テキストを挿入します。
Void ReplaceData( SInt32 offset , SInt32 count , ACharConstPtr data )
テキストを置換します。
Void SetData( ACharConstPtr data )
ノードの値を設定します。
Void SetNodeValue( ACharConstPtr value )
ノードの値を設定します。
SFXXMLTextPtr SplitText( SInt32 offset )
2 つの Text ノードに分割します。
SFXAnsiString SubstringData( SInt32 offset , SInt32 count )
部分文字列を取得します。
SFCError AppendChild( SFXXMLNodeConstPtr newchild ) (SFXXMLNode から継承)
子ノードの最後にノードを追加します。
Bool EqualNode( SFXXMLNodeConstPtr arg ) (SFXXMLNode から継承)
指定したノードと同等かどうかを判定します。
DOMNodeListPtr GetChildNodes( Void ) (SFXXMLNode から継承)
すべての子ノードを取得します。
SFXXMLNodePtr GetFirstChild( Void ) (SFXXMLNode から継承)
最初の子ノードを取得します。
SFXXMLNodePtr GetLastChild( Void ) (SFXXMLNode から継承)
最後の子ノードを取得します。
SFXAnsiString GetText( Void ) (SFXXMLNode から継承)
ノード テキストを取得します。
Bool HasChildNodes( Void ) (SFXXMLNode から継承)
子ノードを持つかどうかを判定します。
SFCError InsertBefore( SFXXMLNodeConstPtr newchild , SFXXMLNodeConstPtr refchild ) (SFXXMLNode から継承)
ノードを挿入します。
Bool IsSameNode( SFXXMLNodeConstPtr other ) (SFXXMLNode から継承)
指定したノードと同一であるかを判定します。
SFCError RemoveChild( SFXXMLNodeConstPtr oldchild ) (SFXXMLNode から継承)
子孫ノードも含めて子ノードを削除します。
SFCError ReplaceChild( SFXXMLNodeConstPtr newchild , SFXXMLNodeConstPtr oldchild ) (SFXXMLNode から継承)
子ノードを置換します。
SFCError SetText( SFXAnsiStringConstRef text ) (SFXXMLNode から継承)
ノード テキストを設定します。
DOMNamedNodeMap (SFXXMLNode から継承)
複数の DOM ノードを名前で管理するためのクラスです。
DOMNodeList (SFXXMLNode から継承)
複数の DOM ノードをリスト形式で管理するためのクラスです。
NodeType (SFXXMLNode から継承)
ノード タイプの数値です。

SFXXMLText::SFXXMLText
SFXXMLText クラスのコンストラクタです。
[ public, explicit ]
SFXXMLText(
    SFXXMLDocumentPtr owner      // ルート
    SFXAnsiStringConstRef name   // テキスト ノードの名前
);
[ public, explicit ]
SFXXMLText(
    SFXXMLTextConstRef other   // テキストノードのインスタンス 
);

SFXXMLText::~SFXXMLText
SFXXMLText クラスのデストラクタです。
[ public, virtual ]
virtual ~SFXXMLText(Void);

SFXXMLText::AppendData
指定したテキストをノードの値の末尾に追加します。
[ public ]
Void AppendData(
    ACharConstPtr data   // 追加するテキスト
);

解説

[Note] 注意
Text ノードの値はテキスト(文字列)です。

参照

SFXXMLText::InsertData | SFXXMLText::DeleteData | SFXXMLText::ReplaceData | SFXXMLNode


SFXXMLText::CloneNode
ノードのコピーを作成します。
[ public, virtual ]
SFCError CloneNode(
    SFXXMLNodeHandle clonenode   // コピー先のノード(Handle 型)
    Bool deep                    // 子ノードが再帰的にコピーされるかどうか【無効】
);

引数

clonenode

コピー先ノードを指定します。

deep

この引数は無効です。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 失敗したとき : SFERR_FAILED

参照

SFXXMLNode::CloneNode | SFXXMLNode


SFXXMLText::DeleteData
ノードの値(テキスト)を一部削除します。
[ public ]
Void DeleteData(
    SInt32 offset   // 削除の開始位置
    SInt32 count    // 削除する文字数
);

解説

[Note] 注意
Text ノードの値はテキスト(文字列)です。

参照

SFXXMLText::InsertData | SFXXMLText::AppendData | SFXXMLText::ReplaceData


SFXXMLText::GetData
ノードの値を取得します。
[ public, const ]
ACharConstPtr GetData(Void);

解説

SFXXMLText::GetNodeValue 関数を呼び出すのと同等です。

[Note] 注意
Text ノードの値はテキスト(文字列)です。

使用例

<?xml version="1.0" encoding="Shift_JIS" ?>
<root>
 <title>文字列の追加・挿入・置換・削除</title>
 <data>これはテストですXXX</data>
</root>

// Text ノードを取得する
SFXXMLTextPtr text = SFXXMLTextPtr(data->GetFirstChild());

// Text ノードの値を取得する
TRACE(text->GetData());          // "これはテストですXXX"
    
// 文字数を取得する
TRACE("文字数は: %d", text->GetLength());
    
// テキストを追加する
text->AppendData("(06/02/22)");     // "これはテストですXXX(06/02/22)"
    
// テキストを挿入する
text->InsertData(6, "文字列編集の");     // "これは文字列編集のテストですXXX(06/02/22)"
    
// "テスト"を"実験"に置換する
text->ReplaceData(18, 6, "実験");     // "これは文字列編集の実験ですXXX(06/02/22)"
    
// 最後のテキストを一部削除する
text->DeleteData(26,13);     // "これは文字列編集の実験です"
    
// テキストの一部を取得する
SFXAnsiString str = text->SubstringData(6, 6);     // "文字列"
    
// Text ノードを分割する
SFXXMLTextPtr splittext = text->SplitText(6);     // "文字列編集の実験です"
SFXAnsiString(splittext->GetData()).Equals("文字列編集の実験です");
    

参照

SFXXMLText::SetData | SFXXMLText::GetNodeValue | SFXXMLNode::GetNodeValue | SFXXMLNode


SFXXMLText::GetLength
テキストの長さを取得します。
[ public, const ]
SInt32 GetLength(Void);

SFXXMLText::GetNextSibling
次の兄弟ノードを取得します。
[ public, virtual, const ]
SFXXMLNodePtr GetNextSibling(Void);

戻り値

指定したノードの次の兄弟ノードを返します。次の兄弟ノードがないときは null を返します。

参照

SFXXMLText::GetPreviousSibling | SFXXMLNode::GetNextSibling| SFXXMLNode::GetPreviousSibling | SFXXMLNode


SFXXMLText::GetNodeName
ノードの名前を取得します。
[ public, virtual, const ]
ACharConstPtr GetNodeName(Void);

戻り値

"#text" を返します。

参照

SFXXMLNode::GetNodeName | SFXXMLNode


SFXXMLText::GetNodeType
ノード タイプを取得します。
[ public, virtual, const ]
NodeType GetNodeType(Void);

戻り値

TEXT_NODE を返します。

参照

SFXXMLNode::NodeType | SFXXMLNode::GetNodeType | SFXXMLNode


SFXXMLText::GetNodeValue
ノードの値を取得します。
[ public, virtual, const ]
ACharConstPtr GetNodeValue(Void);

解説

SFXXMLText::GetData 関数を呼び出すのと同等です。

[Note] 注意
Text ノードの値はテキスト(文字列)です。

参照

SFXXMLText::GetData | SFXXMLNode::GetNodeValue | SFXXMLNode


SFXXMLText::GetParentNode
親ノードを取得します。
[ public, virtual, const ]
SFXXMLNodePtr GetParentNode(Void);

戻り値

親ノードを返します。親ノードがない場合は、null を返します。

参照

SFXXMLNode::GetParentNode | SFXXMLNode


SFXXMLText::GetPreviousSibling
前の兄弟ノードを取得します。
[ public, virtual, const ]
SFXXMLNodePtr GetPreviousSibling(Void);

戻り値

指定したノードの前の兄弟ノードを返します。前の兄弟ノードがないときは null を返します。

参照

SFXXMLProcessingInstruction::GetNextSibling | SFXXMLNode::GetPreviousSibling | SFXXMLNode::GetNextSibling | SFXXMLNode


SFXXMLText::InsertData
テキストを挿入します。
[ public ]
Void InsertData(
    SInt32 offset        // 開始位置 
    ACharConstPtr data   // 挿入するテキスト
);

参照

SFXXMLText::DeleteData | SFXXMLText::AppendData | SFXXMLText::ReplaceData


SFXXMLText::ReplaceData
テキストを置換します。
[ public ]
Void ReplaceData(
    SInt32 offset        // 置換の開始位置
    SInt32 count         // 置換するテキストのサイズ
    ACharConstPtr data   // 置換するテキスト
);

解説

offset と count の合計がテキストの末尾を越えた場合、テキストの末尾までの文字が置換対象になります。

参照

SFXXMLText::DeleteData | SFXXMLText::AppendData | SFXXMLText::InsertData


SFXXMLText::SetData
ノードの値を設定します。
[ public ]
Void SetData(
    ACharConstPtr data   // テキスト
);

解説

SFXXMLText::SetNodeValue 関数を呼び出すのと同等です。

[Note] 注意
Text ノードの値はテキスト(文字列)です。

参照

SFXXMLText::SetNodeValue | SFXXMLText::GetData


SFXXMLText::SetNodeValue
ノードの値を設定します。
[ public, virtual ]
Void SetNodeValue(
    ACharConstPtr value   // テキスト
);

解説

SFXXMLText::SetData 関数を呼び出すのと同等です。

[Note] 注意
Text ノードの値はテキスト(文字列)です。

参照

SFXXMLNode::SetNodeValue | SFXXMLNode


SFXXMLText::SplitText
2 つの Text ノードに分割します。
[ public ]
SFXXMLTextPtr SplitText(
    SInt32 offset   // 分割する位置
);

解説

Text ノードのテキストを、指定した位置で分割して、2 つの Text ノードにします。

分割後の 2 つの Text ノードは両方とも元の親ノードに属します。

offset が元の Text ノードに設定されたテキストと同じ長さの場合、新しい Text ノードのテキストは空の文字列です。

offset が 0 の場合、1 つ目の Text ノードのテキストは空の文字列です。

offset が元の Text ノードのテキストより大きい場合は null を返します。


SFXXMLText::SubstringData
部分文字列を取得します。
[ public, const ]
SFXAnsiString SubstringData(
    SInt32 offset   // 取り出す部分文字列の開始位置
    SInt32 count    // 部分文字列のサイズ
);

戻り値

部分文字列を返します。offset と count の合計がテキストの末尾を越えた場合は、テキストの末尾までの部分文字列を返します。

参照

SFXXMLText::DeleteData | SFXXMLText::AppendData | SFXXMLText::ReplaceData | SFXXMLText::InsertData