SophiaFramework UNIVERSE 5.3 |
Text ノード(SFXXMLText) は、 Element ノード(SFXXMLElement) または Attribute ノード (SFXXMLAttribute) の内容(文字列)を保持します。
要素の内容にマークアップがない場合、 その内容は Element ノードの唯一の子ノードである Text ノードに含まれます。
マークアップがある場合は、 その内容を要素、コメントなどの情報項目で構文解析し、 Text ノードを含む ノード ツリーに変換します。 Element または Attribute ノードには、そのノード ツリーが設定されます。
Text ノードでは、以下の 5 つのケースに関して文字をエスケープします。
注意 | |
---|---|
空白文字を使用して DOM ツリーをインデントするには SFXXMLDOMParser::SetDoIndent 関数を使います。 DOM ツリーがインデントされる場合、 これらの空白文字は Text ノードに反映されます。 |
SFXXMLNode | SFXXMLDocument | SFXXMLElement | SFXXMLAttribute | SFXXMLCDATASection | SFXXMLComment
コンストラクタ/デストラクタ |
---|
SFXXMLText(
SFXXMLDocumentPtr owner
, SFXAnsiStringConstRef name
) SFXXMLText クラスのコンストラクタです。
|
SFXXMLText(
SFXXMLTextConstRef other
) SFXXMLText クラスのコンストラクタです。
|
~SFXXMLText( Void ) SFXXMLText クラスのデストラクタです。
|
パブリック関数 | |
---|---|
Void |
AppendData(
ACharConstPtr data
) テキストをノードの値(nodeValue 属性値)の末尾に追加します。
|
SFCError |
CloneNode(
SFXXMLNodeHandle clonenode
, Bool deep
) ノードのコピーを作成します。
|
Void |
DeleteData(
SInt32 offset
, SInt32 count
) ノードの値(nodeValue 属性値)を一部削除します。
|
ACharConstPtr |
GetData( Void ) ノードの値(nodeValue 属性値)を取得します。
|
SInt32 |
GetLength( Void ) テキストの長さ(文字数)を取得します。
|
SFXXMLNodePtr |
GetNextSibling( Void ) 次の兄弟ノードを取得します。
|
ACharConstPtr |
GetNodeName( Void ) ノードの名前(nodeName 属性値)を取得します。
|
NodeType |
GetNodeType( Void ) ノードタイプ(nodeType 属性値)を取得します。
|
ACharConstPtr |
GetNodeValue( Void ) ノードの値(nodeValue 属性値)を取得します。
|
SFXXMLNodePtr |
GetParentNode( Void ) 親ノードを取得します。
|
SFXXMLNodePtr |
GetPreviousSibling( Void ) 前の兄弟ノードを取得します。
|
Void |
InsertData(
SInt32 offset
, ACharConstPtr data
) テキストを挿入します。
|
Void |
ReplaceData(
SInt32 offset
, SInt32 count
, ACharConstPtr data
) テキストを置換します。
|
Void |
SetData(
ACharConstPtr data
) ノードの値(nodeValue 属性値)を設定します。
|
Void |
SetNodeValue(
ACharConstPtr value
) ノードの値(nodeValue 属性値)を設定します。
|
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 ノードを名前またはローカル名と名前空間 URI で管理するためのクラスです。
|
DOMNodeList
(SFXXMLNode から継承)
複数の DOM ノードをリスト形式で管理するためのクラスです。
|
NodeType
(SFXXMLNode から継承)
ノードタイプを表す定数です。
|
[ public, explicit ] SFXXMLText( SFXXMLDocumentPtr owner // ドキュメントツリーのルート SFXAnsiStringConstRef name // テキストの内容 );
[ public, explicit ] SFXXMLText( SFXXMLTextConstRef other // Text ノード );
このコンストラクタは、指定された値をこのノードに設定します。
引数には、このノードを所有するドキュメントツリーのルート(SFXXMLDocument)とテキストの内容、 または別の Text ノードのいずれかを指定することが可能です。
注意 | |
---|---|
name 引数に指定されるテキストの内容は、 SFXXMLText::GetNodeValue 関数で取得できる、このノードの nodeValue 属性として設定されます。 |
[ public, virtual ] virtual ~SFXXMLText(Void);
このデストラクタは、何も行いません。
[ public ] Void AppendData( ACharConstPtr data // 追加するテキスト(文字列) );
この関数は、このノードの値(nodeValue 属性値)であるテキストの末尾に指定されたテキスト(文字列)を追加します。
Text ノードの場合、nodeValue 属性値はテキスト(文字列)です。
SFXXMLText::InsertData | SFXXMLText::DeleteData | SFXXMLText::ReplaceData | SFXXMLText::SetNodeValue | SFXXMLText::SetData | SFXXMLText::SFXXMLText
[ public, virtual ] SFCError CloneNode( SFXXMLNodeHandle clonenode // コピー先のノード(Handle 型) Bool deep // 子ノードを再帰的にコピーするかどうか【無効】 );
コピー先ノードを指定します。
この引数は無効です。
この関数は、このノードのコピーを作成し、clonenode 引数に返します。
注意 | |
---|---|
Text ノードは子ノードを持たないので、 deep 引数は無効です。true を指定しても、false を指定しても結果は同じです。 |
この関数は、このノードの値(nodeValue 属性値)であるテキスト内の offset 引数に指定された位置から count 引数に指定された長さの部分テキスト(部分文字列)を削除します。
Text ノードの場合、nodeValue 属性値はテキスト(文字列)です。
SFXXMLText::InsertData | SFXXMLText::AppendData | SFXXMLText::ReplaceData | SFXXMLText::SetNodeValue | SFXXMLText::SetData | SFXXMLText::SFXXMLText
[ public, const ] ACharConstPtr GetData(Void);
ノードの値(nodeValue 属性値)
この関数は、このノードの値(nodeValue 属性値)を取得します。
Text ノードの場合、nodeValue 属性値はテキスト(文字列)です。
注意 | |
---|---|
テキスト(文字列)は、SFXXMLText::SFXXMLText コンストラクタの name 引数、 またはSFXXMLText::SetData 関数の data 引数で設定します。 |
注意 | |
---|---|
SFXXMLText::GetNodeValue 関数を呼び出すのと同等です。 |
<?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("文字列編集の実験です");
[ public, const ] SInt32 GetLength(Void);
テキストの長さ
この関数は、このノードの値(nodeValue 属性値)であるテキストの長さ(文字数)を取得します。
Text ノードの場合、nodeValue 属性値はテキスト(文字列)です。
SFXXMLText::InsertData | SFXXMLText::AppendData | SFXXMLText::DeleteData | SFXXMLText::ReplaceData | SFXXMLText::SetNodeValue | SFXXMLText::SetData | SFXXMLText::SFXXMLText
[ public, virtual, const ] SFXXMLNodePtr GetNextSibling(Void);
次の兄弟ノード
この関数は、このノードの次の兄弟ノードを取得します。
注意 | |
---|---|
次の兄弟ノードが存在しない場合は null を返します。 |
SFXXMLText::GetPreviousSibling | SFXXMLNode::GetNextSibling| SFXXMLNode::GetPreviousSibling | SFXXMLNode
[ public, virtual, const ] ACharConstPtr GetNodeName(Void);
"#text"
この関数は、このノードの名前(nodeName 属性値)を取得します。
Text ノードの場合、nodeName 属性値は "#text" です。
[ public, virtual, const ] NodeType GetNodeType(Void);
SFXXMLNode::TEXT_NODE
この関数は、このノードのタイプ(nodeType 属性値)を取得します。
Text ノードの場合、nodeType 属性値は SFXXMLNode::TEXT_NODE です。
[ public, virtual, const ] ACharConstPtr GetNodeValue(Void);
ノードの値(nodeValue 属性値)
この関数は、このノードの値(nodeValue 属性値)を取得します。
Text ノードの場合、nodeValue 属性値はテキスト(文字列)です。
注意 | |
---|---|
テキスト(文字列)は、SFXXMLText::SFXXMLText コンストラクタの name 引数、 またはSFXXMLText::SetData 関数の data 引数で設定します。 |
注意 | |
---|---|
SFXXMLText::GetData 関数を呼び出すのと同等です。 |
SFXXMLText::SFXXMLText | SFXXMLText::GetData | SFXXMLText::SetData | SFXXMLNode::GetNodeValue | SFXXMLNode
[ public, virtual, const ] SFXXMLNodePtr GetParentNode(Void);
親ノード
この関数は、このノードの親ノードを取得します。
注意 | |
---|---|
親ノードが存在しない場合は null を返します。 |
[ public, virtual, const ] SFXXMLNodePtr GetPreviousSibling(Void);
前の兄弟ノード
この関数は、このノードの前の兄弟ノードを取得します。
注意 | |
---|---|
前の兄弟ノードが存在しない場合は null を返します。 |
SFXXMLProcessingInstruction::GetNextSibling | SFXXMLNode::GetPreviousSibling | SFXXMLNode::GetNextSibling | SFXXMLNode
[ public ] Void InsertData( SInt32 offset // 開始位置 ACharConstPtr data // 挿入するテキスト );
この関数は、このノードの値(nodeValue 属性値)であるテキスト内の offset 引数に指定された位置に data 引数に指定されたテキスト(文字列)を挿入します。
Text ノードの場合、nodeValue 属性値はテキスト(文字列)です。
SFXXMLText::DeleteData | SFXXMLText::AppendData | SFXXMLText::ReplaceData | SFXXMLText::SetNodeValue | SFXXMLText::SetData | SFXXMLText::SFXXMLText
[ public ] Void ReplaceData( SInt32 offset // 置換の開始位置 SInt32 count // 置換するテキスト(文字列)の長さ ACharConstPtr data // 置換するテキスト );
この関数は、このノードの値(nodeValue 属性値)であるテキスト内の offset 引数に指定された位置から count 引数に指定された長さのテキスト(文字列)を data 引数に指定されたテキスト(文字列)で置き換えます。
Text ノードの場合、nodeValue 属性値はテキスト(文字列)です。
注意 | |
---|---|
offset と count の合計が、このノードの値(nodeValue 属性値)であるテキスの末尾を越えた場合、 テキストの末尾までのテキスト(文字列)が data 引数に指定されたテキスト(文字列)で置換されます。 |
SFXXMLText::DeleteData | SFXXMLText::AppendData | SFXXMLText::InsertData | SFXXMLText::SetNodeValue | SFXXMLText::SetData | SFXXMLText::SFXXMLText
[ public ] Void SetData( ACharConstPtr data // テキスト );
この関数は、このノードの値(nodeValue 属性値)を指定された値に設定します。
Text ノードの場合、nodeValue 属性値はテキスト(文字列)です。
注意 | |
---|---|
SFXXMLText::SetNodeValue 関数を呼び出すのと同等です。 |
[ public, virtual ] Void SetNodeValue( ACharConstPtr value // テキスト );
この関数は、このノードの値(nodeValue 属性値)を指定された値に設定します。
Text ノードの場合、nodeValue 属性値はテキスト(文字列)です。
注意 | |
---|---|
SFXXMLText::SetData 関数を呼び出すのと同等です。 |
[ public ] SFXXMLTextPtr SplitText( SInt32 offset // 分割する位置 );
新たに作成された Text ノード(作成されなかった場合は null)
この関数は、この Text ノードを 2 つに分割し、新たに作成された Text ノードを返します。
具体的な処理内容は以下の通りです。、
注意 | |
---|---|
offset 引数に指定される位置が分割前の Text ノードのテキストの末尾である場合、 この関数が返す Text ノードのテキストは空の文字列です。 offset 引数に指定される値が 0 である場合、 分割後、この Text ノードのテキストは空の文字列になります。 この関数が返す Text ノードのテキストは分割前にこの Text ノードに設定されていたテキストになります。 |
[ public, const ] SFXAnsiString SubstringData( SInt32 offset // 取り出す部分文字列の開始位置 SInt32 count // 部分文字列のサイズ );
このノードに nodeValue 属性値として設定されたテキスト内の指定された部分テキスト(部分文字列)
この関数は、このノードの値(nodeValue 属性値)であるテキスト内の offset 引数に指定された位置から count 引数に指定された長さのテキスト(文字列)を 取得します。
Text ノードの場合、nodeValue 属性値はテキスト(文字列)です。
注意 | |
---|---|
offset と count の合計が、このノードの値(nodeValue 属性値)であるテキスの末尾を越えた場合、 テキストの末尾までのテキスト(文字列)を返します。 |
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |