SophiaFramework UNIVERSE 5.3 |
#include <SFXXMLElement.hpp>
class SFXXMLElement : public SFXXMLNode;
SFMTYPEDEFCLASS(SFXXMLElement)
Element ノード(SFXXMLElement)は、 XML 文書の要素を保持します。
Element ノードには、SFXXMLElement::SetAttributeNode や SFXXMLElement::SetAttribute 関数を使用して、 属性(SFXXMLAttribute)をプロパティとして設定することができます。
Element ノードに設定された属性は、 SFXXMLElement::GetAttributeNode や SFXXMLElement::GetAttributes 関数を使用して取得できます。
コンストラクタ/デストラクタ |
---|
SFXXMLElement(
SFXXMLDocumentPtr owner
, SFXAnsiStringConstRef name
) SFXXMLElement クラスのコンストラクタです。
|
SFXXMLElement(
SFXXMLDocumentPtr owner
, SFXAnsiStringConstRef name
, SFXAnsiStringConstRef namespaceURI
) SFXXMLElement クラスのコンストラクタです。
|
SFXXMLElement(
SFXXMLElementConstRef other
, Bool deep = false
) SFXXMLElement クラスのコンストラクタです。
|
~SFXXMLElement( Void ) SFXXMLElement クラスのデストラクタです。
|
パブリック関数 | |
---|---|
SFCError |
AppendChild(
SFXXMLNodeConstPtr newchild
) 子ノードの最後にノードを追加します。
|
SFCError |
CloneNode(
SFXXMLNodeHandle clonenode
, Bool deep
) ノードのコピーを作成します。
|
Bool |
EqualNode(
SFXXMLNodeConstPtr arg
) 指定したノードと同等かどうかを判定します。
|
ACharConstPtr |
GetAttribute(
SFXAnsiStringConstRef name
) 指定された名前を持つ属性に設定されている値(属性値)を取得します。
|
ACharConstPtr |
GetAttributeNS(
SFXAnsiStringConstRef localname
, SFXAnsiStringConstRef namespaceURI
) 指定されたローカル名と名前空間 URI を持つ属性に設定されている値(属性値)を取得します。
|
SFXXMLAttributePtr |
GetAttributeNode(
SFXAnsiStringConstRef name
) 指定された名前を持つ Attribute ノードを取得します。
|
SFXXMLAttributePtr |
GetAttributeNodeNS(
SFXAnsiStringConstRef localname
, SFXAnsiStringConstRef namespaceURI
) 指定されたローカル名と名前空間 URI を持つ Attribute ノードを取得します。
|
DOMNamedNodeMapPtr |
GetAttributes( Void ) Element ノードに含まれるすべての Attribute ノードを取得します。
|
DOMNodeListPtr |
GetChildNodes( Void ) すべての子ノードを取得します。
|
DOMNodeListPtr |
GetElementsByTagName(
SFXAnsiStringConstRef name
) この Element ノードを所有するドキュメントツリー内で指定されたタグ名を持つ Element ノードをすべて取得します。
|
DOMNodeListPtr |
GetElementsByTagNameNS(
SFXAnsiStringConstRef localname
, SFXAnsiStringConstRef namespaceURI
) この Element ノードを所有するドキュメントツリー内で指定されたローカル名と名前空間 URI を持つ Element ノードをすべて取得します。
|
SFXXMLNodePtr |
GetFirstChild( Void ) 最初の子ノードを取得します。
|
SFXXMLNodePtr |
GetLastChild( Void ) 最後の子ノードを取得します。
|
ACharConstPtr |
GetLocalName( Void ) ノードの名前(nodeName 属性値)のローカル名を取得します。
|
ACharConstPtr |
GetName( Void ) ノードの名前(nodeName 属性値)を取得します。
|
ACharConstPtr |
GetNamespaceURI( Void ) 名前空間 URI を取得します。
|
SFXXMLNodePtr |
GetNextSibling( Void ) 次の兄弟ノードを取得します。
|
ACharConstPtr |
GetNodeName( Void ) ノードの名前(nodeName 属性値)を取得します。
|
NodeType |
GetNodeType( Void ) ノードタイプ(nodeType 属性値)を取得します。
|
SFXXMLNodePtr |
GetParentNode( Void ) 親ノードを取得します。
|
ACharConstPtr |
GetPrefix( Void ) 名前空間接頭辞を取得します。
|
SFXXMLNodePtr |
GetPreviousSibling( Void ) 前の兄弟ノードを取得します。
|
Bool |
HasAttribute(
SFXAnsiStringConstRef name
) 指定された名前を持つ属性が設定されているか判定します。
|
Bool |
HasAttributeNS(
SFXAnsiStringConstRef localname
, SFXAnsiStringConstRef namespaceURI
) 指定されたローカル名と名前空間 URI を持つ属性が設定されているか判定します。
|
Bool |
HasAttributes( Void ) Attribute ノードが設定されているか判定します。
|
Bool |
HasChildNodes( Void ) 子ノードを持つかどうか判定します。
|
SFCError |
InsertBefore(
SFXXMLNodeConstPtr newchild
, SFXXMLNodeConstPtr refchild
) ノードを挿入します。
|
Void |
RemoveAttribute(
SFXAnsiStringConstRef name
) 指定された名前を持つ属性を削除します。
|
Void |
RemoveAttributeNS(
SFXAnsiStringConstRef localname
, SFXAnsiStringConstRef namespaceURI
) 指定されたローカル名と名前空間 URI を持つ属性を削除します。
|
SFXXMLAttributePtr |
RemoveAttributeNode(
SFXXMLAttributePtr oldAttr
) 指定された Attribute ノードを削除します。
|
SFCError |
RemoveChild(
SFXXMLNodeConstPtr oldchild
) 子孫ノードも含めて子ノードを削除します。
|
SFCError |
ReplaceChild(
SFXXMLNodeConstPtr newchild
, SFXXMLNodeConstPtr oldchild
) 子ノードを置換します。
|
Void |
SetAttribute(
SFXAnsiStringConstRef name
, ACharConstPtr value
) 指定された名前を持つ属性に指定された値(属性値)を設定します。
|
Void |
SetAttributeNS(
SFXAnsiStringConstRef localname
, SFXAnsiStringConstRef namespaceURI
, ACharConstPtr value
) 指定されたローカル名と名前空間 URI を持つ属性に指定された値(属性値)を設定します。
|
SFCError |
SetAttributeNode(
SFXXMLAttributePtr newAttr
) 指定された Attribute ノードを設定します。
|
SFCError |
SetAttributeNodeNS(
SFXXMLAttributePtr newAttr
) 指定された Attribute ノードを設定します。
|
ACharConstPtr |
GetNodeValue( Void )
(SFXXMLNode から継承)
ノードの値(nodeValue 属性値)を取得します。
|
SFXAnsiString |
GetText( Void )
(SFXXMLNode から継承)
ノードテキストを取得します。
|
Bool |
IsSameNode(
SFXXMLNodeConstPtr other
)
(SFXXMLNode から継承)
指定されたノードと同一であるか判定します。
|
Void |
SetNodeValue(
ACharConstPtr value
)
(SFXXMLNode から継承)
ノードの値(nodeValue 属性値)を設定します。
|
SFCError |
SetText(
SFXAnsiStringConstRef text
)
(SFXXMLNode から継承)
ノードテキストを設定します。
|
型 |
---|
DOMNamedNodeMap
(SFXXMLNode から継承)
複数の DOM ノードを名前またはローカル名と名前空間 URI で管理するためのクラスです。
|
DOMNodeList
(SFXXMLNode から継承)
複数の DOM ノードをリスト形式で管理するためのクラスです。
|
NodeType
(SFXXMLNode から継承)
ノードタイプを表す定数です。
|
[ public, explicit ] SFXXMLElement( SFXXMLDocumentPtr owner // ドキュメントツリーのルート SFXAnsiStringConstRef name // 要素名 );
[ public, explicit ] SFXXMLElement( SFXXMLDocumentPtr owner // ドキュメントツリーのルート SFXAnsiStringConstRef name // 要素名: 修飾名("名前空間接頭辞:ローカル名")で指定する SFXAnsiStringConstRef namespaceURI // 要素の名前空間 URI );
[ public, explicit ] SFXXMLElement( SFXXMLElementConstRef other // Element ノード Bool deep = false // 子ノードを再帰的にコピーするかどうか );
このコンストラクタは、指定された値をこのノードに設定します。 指定された要素名からローカル名と名前空間接頭辞も自動的に設定されます。
引数には、このノードを所有するドキュメントツリーのルート(SFXXMLDocument)・要素名・要素の名前空間 URI(省略可)、 または別の Element ノードのいずれかを指定することが可能です。
なお、name 引数で指定した要素名は、このノードの nodeName 属性として設定されます。
ローカル名と名前空間接頭辞の設定 | |
---|---|
namespaceURI 引数(名前空間 URI)を指定する場合は、 要素名は修飾名("名前空間接頭辞:ローカル名")で指定します。 要素名の ":" の位置よりも左側にある文字列が名前空間接頭辞、右側にある文字列がローカル名に設定されます。 要素名が空文字列であったり、":" の位置が要素名の先頭または末尾にある場合は何も設定されません。 namespaceURI 引数(名前空間 URI)を指定しない場合、 要素名に ":" が含まれなければ、名前空間接頭辞は空文字列、name 引数に指定された要素名がローカル名に設定されます。 要素名に ":" が含まれる場合は、要素名の ":" の位置よりも左側にある文字列が名前空間接頭辞、右側にある文字列がローカル名に設定されます。 この場合、名前空間 URI には空文字列が設定されます。 |
指定する名前空間接頭辞が "xml" の場合、namespaceURI 引数には以下の名前空間 URI を指定する必要があります。 異なる名前空間 URI を指定した場合、その名前空間 URI は無視され設定さません。
名前空間接頭辞 | 名前空間 URI |
---|---|
xml | http://www.w3.org/XML/1998/namespace |
namespaceURI 引数が空で無い場合、 この Element ノードは要素名の名前空間接頭辞の有無に応じて以下の属性を持ちます (Attribute ノードが自動的に作成され、この Element ノードのプロパティとなります)。
名前空間接頭辞 | 属性名 | 属性値 |
---|---|---|
無し | xmlns | namespaceURI 引数に指定した URI |
有り | xmlns:名前空間接頭辞 | namespaceURI 引数に指定した URI |
SFXXMLElement::GetNodeName | SFXXMLElement::GetPrefix | SFXXMLElement::GetLocalName | SFXXMLElement::GetNamespaceURI | SFXXMLDocument
[ public, virtual ] virtual ~SFXXMLElement(Void);
このデストラクタは、何も行いません。
[ public, virtual ] SFCError AppendChild( SFXXMLNodeConstPtr newchild // 追加するノード );
この関数は、指定されたノード(newchild ノード)をこのノードの最後の子ノードとして追加します。
newchild ノードをコピーせずにそのまま追加します。 newchild ノードが既に DOM ツリー内に存在する場合は、 最初に DOM ツリーからその子ノードを削除します。
newchild 引数が不正になる条件 | |
---|---|
以下のとき、newchild 引数は不正となり、SFERR_INVALID_PARAM エラーが返ります。
|
注意 | |
---|---|
newchild 引数には、Element / ProcessingInstruction / Text / Comment / CDATASection / EntityReference の何れかのノードを指定してください。 |
注意 | |
---|---|
内部で SFXXMLElement::InsertBefore(newchild, null) を呼び出しています。 |
[ public, virtual ] SFCError CloneNode( SFXXMLNodeHandle clonenode // コピー先のノード( Handle 型 ) Bool deep // 子ノードを再帰的にコピーするかどうか );
コピー先ノードを指定します。
true の場合、子ノードを再帰的にコピーします。 false の場合、ノード自身とElement ノードに関連付けられた Attribute ノードだけをコピーします。
この関数は、このノードのコピーを作成し、clonenode 引数に返します。
子孫ノードのコピー | |
---|---|
deep 引数に true を指定すると、このノードの子孫ノードも含めてコピーが行われます。 false を指定した場合は、このノードとこのノードに関連付けられた Attribute ノードだけがコピーされます(このノードの子孫ノードはコピーされません)。 |
[ public, virtual, const ] Bool EqualNode( SFXXMLNodeConstPtr arg // 同等性を比較する対象のノード );
この関数は、指定されたノードと同等かどうか(ノードの内容が同じであるかどうか)を判定します。
2 つのノードが同等であるための条件 | |
---|---|
2 つのノードが同等であるための条件は、以下のように再帰的に定義されます。
|
2 つのノードの同一性の判定 | |
---|---|
2 つのノードが同一であるかどうか(2 つのノードが同じオブジェクトを参照しているかどうか)の判定には、 SFXXMLNode::IsSameNode 関数を使用します。 |
[ public, const ] ACharConstPtr GetAttribute( SFXAnsiStringConstRef name // 属性名: 名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあり );
属性名を指定します。名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。
指定された名前を持つ属性に設定されている属性値
この関数は、この Element ノードを表す要素の指定された名前を持つ属性に設定されている値(属性値)を取得します。
指定された属性が存在しなかったり、 属性値が設定されていない場合は、null を返します。
具体的には、この Element ノードが保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクト(属性情報)から 指定された名前を nodeName 属性値として持つ Attribute ノードを取得し、 そのノードの値(nodeValue 属性値)を返します。
注意 | |
---|---|
Attribute ノードの名前は、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
注意 | |
---|---|
ローカル名と名前空間 URI で属性を指定する場合は、 SFXXMLElement::GetAttributeNS 関数を使用します。 |
// "xmlns:dt" という名前の属性値を取得する
SFXAnsiString atti = boot->GetAttribute("xmlns:dt");
SFXXMLElement::SetAttribute | SFXXMLElement::GetAttributeNS | SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::GetAttributes | SFXXMLElement::GetAttributeNode | SFXXMLElement::SetAttributeNode | SFXXMLElement::HasAttribute | SFXXMLElement::HasAttributes | SFXXMLElement::RemoveAttribute | SFXXMLElement::RemoveAttributeNode
[ public, const ] ACharConstPtr GetAttributeNS( SFXAnsiStringConstRef localname // 属性のローカル名 SFXAnsiStringConstRef namespaceURI // 属性の名前空間 URI );
属性のローカル名を指定します。
属性の名前空間 URI を指定します。
指定されたローカル名と名前空間 URI を持つ属性に設定されている属性値
この関数は、この Element ノードを表す要素の指定されたローカル名と名前空間 URI を持つ属性に設定されている値(属性値)を取得します。
指定されたローカル名と名前空間 URI を持つ属性が存在しなかったり、 属性値が設定されていない場合は、null を返します。
具体的には、この Element ノードが保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクト(属性情報)から 指定されたローカル名と名前空間 URI を持つ Attribute ノードを取得し、 そのノードの値(nodeValue 属性値)を返します。
注意 | |
---|---|
名前(属性名)で属性を指定する場合は、 SFXXMLElement::GetAttribute 関数を使用します。 |
注意 | |
---|---|
Attribute ノードの名前とは、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
SFXXMLElement::GetAttribute | SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::GetAttributeNodeNS | SFXXMLElement::GetAttributes | SFXXMLElement::SetAttributeNS | SFXXMLElement::SetAttributeNodeNS | SFXXMLElement::HasAttributeNS | SFXXMLElement::HasAttributes | SFXXMLElement::RemoveAttributeNS
[ public, const ] SFXXMLAttributePtr GetAttributeNode( SFXAnsiStringConstRef name // Attribute ノードの名前(属性名): 名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあり );
Attribute ノードの名前(属性名)を指定します。 名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。
指定された名前を持つ Attribute ノード
この関数は、この Element ノードから指定された名前を持つ Attribute ノードを取得します。
存在しない場合は、null を返します。
具体的には、この Element ノードが保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクト(属性情報)から nodeName 属性値として name 引数に指定された名前を持つ Attribute ノードを取得します。
注意 | |
---|---|
Attribute ノードの名前は、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
注意 | |
---|---|
ローカル名と名前空間 URI で属性を指定する場合は、 SFXXMLElement::GetAttributeNodeNS 関数を使用します。 |
// "xmlns:dt" という名前を持つ Attribute ノードを取得する
SFXXMLAttributePtr atti = boot->GetAttributeNode("xmlns:dt");
SFXXMLElement::GetAttributeNodeNS | SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::GetAttribute | SFXXMLElement::GetAttributes | SFXXMLElement::SetAttribute | SFXXMLElement::SetAttributeNode | SFXXMLElement::HasAttribute | SFXXMLElement::HasAttributes | SFXXMLElement::RemoveAttribute | SFXXMLElement::RemoveAttributeNode
[ public, const ] SFXXMLAttributePtr GetAttributeNodeNS( SFXAnsiStringConstRef localname // 属性のローカル名 SFXAnsiStringConstRef namespaceURI // 属性の名前空間 URI );
属性のローカル名を指定します。
属性の名前空間 URI を指定します。
指定された修飾名を持つ Attribute ノード
この関数は、この Element ノードから指定されたローカル名と名前空間 URI を持つ Attribute ノードを取得します。
存在しない場合は、null を返します。
具体的には、この Element ノードがを保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクト(属性情報)から 指定されたローカル名と名前空間 URI を持つ Attribute ノードを取得します。
注意 | |
---|---|
名前(属性名)で属性を指定する場合は、 SFXXMLElement::GetAttributeNode 関数を使用します。 |
注意 | |
---|---|
Attribute ノードの名前とは、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
SFXXMLElement::GetAttributeNode | SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::GetAttributeNS | SFXXMLElement::GetAttributes | SFXXMLElement::SetAttributeNS | SFXXMLElement::SetAttributeNodeNS | SFXXMLElement::HasAttributeNS | SFXXMLElement::HasAttributes | SFXXMLElement::RemoveAttributeNS
[ public, const ] DOMNamedNodeMapPtr GetAttributes(Void);
この Element ノードに設定されている、 すべての Attribute ノードの NamedNodeMap(SFXXMLNode::DOMNamedNodeMap へのポインタ)
この関数は、この Element ノードに設定されている、すべての Attribute ノードを取得します。
Attribute ノードが設定されていない場合は、null を返します。
具体的には、この Element ノードが表す要素の属性情報を保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクトを返します。
注意 | |
---|---|
この関数は、この Element ノードが表す要素のすべての属性を取得します。 |
// Element ノードに Attribute ノードが設定されているか判定する if (SFXXMLElementPtr(child)->HasAttributes()) { // Element ノードに設定されているすべての Attribute ノードを DOMNamedNodeMap へのポインタとして取得する SFXXMLNode::DOMNamedNodeMapPtr attr = SFXXMLElementPtr(child)->GetAttributes(); if (attr) { for (int i = 0; i < attr->GetLength(); i++) { SFXXMLNodePtr item = attr->Item(i); if (item) { if(item->GetNodeType() == SFXXMLNode::ATTRIBUTE_NODE); ... } } } }
SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::GetAttribute | SFXXMLElement::GetAttributeNode | SFXXMLElement::SetAttribute | SFXXMLElement::SetAttributeNode | SFXXMLElement::HasAttribute | SFXXMLElement::HasAttributes | SFXXMLElement::GetAttributeNode | SFXXMLElement::RemoveAttribute | SFXXMLElement::RemoveAttributeNode
[ public, virtual, const ] DOMNodeListPtr GetChildNodes(Void);
すべての子ノード(SFXXMLNode::DOMNodeList へのポインタ)
この関数は、このノードのすべての子ノードを取得します。
注意 | |
---|---|
子ノードが存在しない場合は null を返します。 |
注意 | |
---|---|
SFXXMLNode::DOMNodeList の各要素は、 SFXXMLNode へのポインタです。 |
// タグ名が "BOOK" である Element ノードを取得する SFXXMLNode::DOMNodeListPtr list = root->GetElementsByTagName("BOOK"); if (list) { // 列挙子を取得する SFXXMLNode::DOMNodeList::Enumerator enumer = list->GetFirstEnumerator(); while (enumer.HasNext()) { // 各 Element ノードを取得する SFXXMLElementPtr elem = static_cast<SFXXMLElementPtr>(enumer.GetNext()); // 各 Element ノードのすべての子ノードを取得する SFXXMLNode::DOMNodeListPtr nodeList = elem->GetChildNodes(); // 子ノードの列挙子を取得する SFXXMLNode::DOMNodeList::Enumerator childiter = nodeList->GetFirstEnumerator(); while (childiter.HasNext()) { SFXXMLElementPtr child = static_cast<SFXXMLElementPtr>(childiter.GetNext()); TRACE("child name: %s", child->GetName()); // 子ノードの名前を表示する TRACE("child text: %s", child->GetText().GetCString()); // 子ノードの内容をまとめた文字列を表示する } } }
[ public, const ] DOMNodeListPtr GetElementsByTagName( SFXAnsiStringConstRef name // タグ名:名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")の場合もあり );
タグ名を指定します。大文字と小文字は区別されます。名前空間が設定されている場合、タグ名は修飾名("名前空間接頭辞:ローカル名")になる場合もあります。
指定されたタグ名に一致する Element ノードのリスト(SFXXMLNode::DOMNodeList へのポインタ)
この関数は、 この Element ノードを所有するドキュメントツリー内で指定されたタグ名を nodeName 属性値として持つ Element ノードのリストを取得します。
Element ノードのリストは出現順に並びます。
指定されたタグ名に一致する Element ノードが存在しない場合は、null を返します。
注意 | |
---|---|
名前空間が設定されている場合、 この関数で指定するタグ名は修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
注意 | |
---|---|
ローカル名と名前空間 URI で指定する場合は、 SFXXMLElement::GetElementsByTagNameNS 関数を使用します。 |
注意 | |
---|---|
この関数は、 内部的に root 引数にこの Element ノードを指定して SFXXMLDocument::GetElementsByTagName 関数を呼び出しています。 |
SFCError error; // エラー値 SFXXMLDOMParser parser; // DOM パーサー SFXAnsiString resultString; // Element ノードのテキストを一時的に格納するための変数 // XML 文書 "apple.xml" を解析する if ((error = parser.Parse("/apple.xml")) == SFERR_NO_ERROR) { // DOM ツリーのルートノードを取得する SFXXMLDocumentPtr root = parser.GetDocument(); // XML 文書のルート要素(DOM ツリーのルートノードの最初の子ノード。この場合、fruit 要素)を取得する SFXXMLNodePtr child = root->GetFirstChild(); // fruit 要素のすべての子要素(子ノード)を取得する // SFXXMLNode::DOMNodeListPtr は SFXList<SFXXMLNodePtr> と同じ SFXXMLNode::DOMNodeListPtr nodeList = child->GetChildNodes(); // イテレータを取得する SFXXMLNode::DOMNodeList::Iterator itor = nodeList->GetFirstIterator(); // タグ名が "color" である、すべての Element ノードを取得する nodeList = static_cast<SFXXMLElementPtr>(child)->GetElementsByTagName("color"); // イテレータを取得する itor = nodeList->GetFirstIterator(); // 取得した すべての Element ノードのテキストを表示する while (itor.HasNext()) { // 次の Element ノードを取得する SFXXMLNodePtr node = itor.GetNext(); // Element ノードのテキストを取得する resultString = node->GetText(); // Element ノードのテキストを表示する TRACE("%s",resultString.GetCString()); } }
SFXXMLElement::GetElementsByTagNameNS | SFXXMLDocument::GetElementsByTagName | SFXXMLNode::DOMNodeList
[ public, const ] DOMNodeListPtr GetElementsByTagNameNS( SFXAnsiStringConstRef localname // 要素のローカル名 SFXAnsiStringConstRef namespaceURI // 要素の名前空間 URI );
要素のローカル名を指定します(大文字と小文字は区別されます)。
要素の名前空間 URI を指定します。
指定されたローカル名と名前空間 URI を持つ Element ノードのリスト(SFXXMLNode::DOMNodeList へのポインタ)
この関数は、 この Element ノードを所有するドキュメントツリー内で指定されたローカル名と名前空間 URI を持つ、 すべての Element ノードを SFXXMLNode::DOMNodeList に格納して返します。
Element ノードのリストはタグの出現順に並びます。
指定されたローカル名と名前空間 URI を持つ Element ノードが存在しない場合は、null を返します。
注意 | |
---|---|
タグ名で指定する場合は、 SFXXMLElement::GetElementsByTagName 関数を使用します。 |
注意 | |
---|---|
この関数は、 内部的に root 引数にこの Element ノードを指定して SFXXMLDocument::GetElementsByTagNameNS 関数を呼び出しています。 |
SFXXMLElement::GetElementsByTagName | SFXXMLDocument::GetElementsByTagNameNS | SFXXMLNode::DOMNodeList
[ public, virtual, const ] SFXXMLNodePtr GetFirstChild(Void);
最初の子ノード
この関数は、このノードの最初の子ノードを取得します。
注意 | |
---|---|
子ノードが存在しない場合は null を返します。 |
[ public, virtual, const ] SFXXMLNodePtr GetLastChild(Void);
最後の子ノード
この関数は、このノードの最後の子ノードを取得します。
注意 | |
---|---|
子ノードが存在しない場合は null を返します。 |
[ public, const ] ACharConstPtr GetLocalName(Void);
このノードの nodeName 属性値のローカル名
この関数は、このノードの名前(nodeName 属性値)のローカル名を取得します。
Element ノードの場合、nodeName 属性値は XML 文書の「要素名」のことです。 「要素名」は、修飾名("名前空間接頭辞:ローカル名")で表されます。
注意 | |
---|---|
SFXXMLElement::SFXXMLElement コンストラクタで name 引数に修飾名で指定した場合、 修飾名の ":" よりも右側にある文字列がローカル名として返されます。 |
SFXXMLElement::SFXXMLElement | SFXXMLElement::GetName | SFXXMLElement::GetNodeName | SFXXMLElement::GetPrefix | SFXXMLElement::GetNamespaceURI
[ public, const ] ACharConstPtr GetName(Void);
ノードの名前(nodeName 属性値)
この関数は、このノードの名前(nodeName 属性値)を取得します。
Element ノードの場合、nodeName 属性値は XML 文書の「要素名」のことです。
名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")が返されます。
注意 | |
---|---|
要素名は、SFXXMLElement::SFXXMLElement コンストラクタの name 引数で設定します。 |
注意 | |
---|---|
SFXXMLElement::GetNodeName 関数を呼び出すのと同等です。 |
<?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0"> <xsl:output encoding="Shift_JIS" method="xml" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="DTD/xhtml1-transitional.dtd"/> <xsl:template match="/"> <html> <head> <title>words</title> </head> <body bgcolor="#CCFFFF"> <center> <table border="0"> <xsl:apply-templates select=".//def"/> </table> </center> </body> </html> </xsl:template> <xsl:template match="def"> <tr><td><b><xsl:apply-templates/></b></td></tr> </xsl:template> <xsl:template match="text()"> <xsl:value-of select="."/> </xsl:template> </xsl:stylesheet> // Element ノードを取得する SFXXMLElementPtr stylesheet = document.GetDocumentElement(); TRACE("Element's name = %s", stylesheet->GetName()); // 修飾名 = xsl:stylesheet TRACE("Element's localname = %s", stylesheet->GetLocalName()); // ローカル名 = stylesheet TRACE("Element's prefix = %s", stylesheet->GetPrefix()); // 名前空間接頭辞 = xsl TRACE("Element's uri = %s", stylesheet->GetNamespaceURI()); // 名前空間 URI = http://www.w3.org/1999/XSL/Transform
SFXXMLElement::GetNodeName | SFXXMLElement::GetLocalName | SFXXMLElement::GetPrefix | SFXXMLElement::GetNamespaceURI
[ public, const ] ACharConstPtr GetNamespaceURI(Void);
このノードに設定されている名前空間 URI
この関数は、このノードに設定されている名前空間 URI を取得します。
名前空間 URI が設定されていない場合は、null を返します。
注意 | |||||
---|---|---|---|---|---|
名前空間 URI は、SFXXMLElement::SFXXMLElement コンストラクタの namespaceURI 引数に指定します。 要素名の名前空間接頭辞が "xml" の場合は、以下の表にある名前空間 URI しか設定できません。
|
SFXXMLElement::SFXXMLElement | SFXXMLElement::GetName | SFXXMLElement::GetNodeName | SFXXMLElement::GetPrefix | SFXXMLElement::GetLocalName
[ public, virtual, const ] SFXXMLNodePtr GetNextSibling(Void);
次の兄弟ノード
この関数は、このノードの次の兄弟ノードを取得します。
注意 | |
---|---|
次の兄弟ノードが存在しない場合は null を返します。 |
SFXXMLDOMParser parser; // DOM パーサー // DOM ツリーのルートを取得する SFXXMLDocumentPtr root = parser.GetDocument(); // ルートの 1 番目の子ノード(XML 文書のルート要素)を取得する SFXXMLNodePtr node = root->GetFirstChild(); // Element ノードへのポインタに型変換する SFXXMLElementPtr elem = static_cast<SFXXMLElementPtr>(node); SFXXMLNodePtr child = elem->GetFirstChild(); // 最初の子ノードを取得する SFXXMLNodePtr author = child->GetNextSibling(); // 次の兄弟ノードを取得する
SFXXMLElement::GetPreviousSibling | SFXXMLNode::GetNextSibling| SFXXMLNode::GetPreviousSibling | SFXXMLNode
[ public, virtual, const ] ACharConstPtr GetNodeName(Void);
ノードの名前(nodeName 属性値)
この関数は、このノードの名前(nodeName 属性値)を取得します。
Element ノードの場合、nodeName 属性値は XML 文書の「要素名」のことです。
名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")が返されます。
注意 | |
---|---|
要素名は、SFXXMLElement::SFXXMLElement コンストラクタの name 引数で設定します。 |
注意 | |
---|---|
SFXXMLElement::GetName 関数を呼び出すのと同等です。 |
[ public, virtual, const ] NodeType GetNodeType(Void);
SFXXMLNode::ELEMENT_NODE
この関数は、このノードのタイプ(nodeType 属性値)を取得します。
Element ノードの場合、nodeType 属性値は SFXXMLNode::ELEMENT_NODE です。
[ public, virtual, const ] SFXXMLNodePtr GetParentNode(Void);
親ノード
この関数は、このノードの親ノードを取得します。
注意 | |
---|---|
親ノードが存在しない場合は null を返します。 |
[ public, const ] ACharConstPtr GetPrefix(Void);
このノードの nodeName 属性値の名前空間接頭辞
この関数は、このノードの名前(nodeName 属性値)の名前空間接頭辞を取得します。
設定されていない場合は、null を返します。
Element ノードの場合、nodeName 属性値は XML 文書の「要素名」のことです。 「要素名」は、修飾名("名前空間接頭辞:ローカル名")で表されます。
注意 | |
---|---|
SFXXMLAttribute::SFXXMLAttribute コンストラクタで name 引数に修飾名で指定した場合、 修飾名の ":" よりも左側にある文字列が名前空間接頭辞として返されます。 |
SFXXMLElement::SFXXMLElement | SFXXMLElement::GetName SFXXMLElement::GetNodeName | SFXXMLElement::GetLocalName | SFXXMLElement::GetNamespaceURI
[ public, virtual, const ] SFXXMLNodePtr GetPreviousSibling(Void);
前の兄弟ノード
この関数は、このノードの前の兄弟ノードを取得します。
注意 | |
---|---|
前の兄弟ノードが存在しない場合は null を返します。 |
SFXXMLElement::GetNextSibling | SFXXMLNode::GetPreviousSibling | SFXXMLNode::GetNextSibling | SFXXMLNode
[ public, const ] Bool HasAttribute( SFXAnsiStringConstRef name // 属性名: 名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあり );
属性名を指定します。名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。
この関数は、この Element ノードに指定された名前を持つ属性(Attribute ノード)が設定されているか判定します。
具体的には、この Element ノードが保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクト(属性情報)に 指定された名前を nodeName 属性値として持つ Attribute ノードが存在するか確認します。
注意 | |
---|---|
Attribute ノードの名前は、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
注意 | |
---|---|
ローカル名と名前空間 URI で属性を指定する場合は、 SFXXMLElement::HasAttributeNS 関数を使用します。 |
// "isdn" という名前の属性を持つかどうかを判定する
if(book->HasAttribute("isdn") == false){
....
}
SFXXMLElement::HasAttributeNS | SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::HasAttributes | SFXXMLElement::SetAttribute | SFXXMLElement::SetAttributeNode | SFXXMLElement::GetAttribute | SFXXMLElement::GetAttributeNode | SFXXMLElement::GetAttributes | SFXXMLElement::RemoveAttribute | SFXXMLElement::RemoveAttributeNode
[ public, const ] Bool HasAttributeNS( SFXAnsiStringConstRef localname // 属性のローカル名 SFXAnsiStringConstRef namespaceURI // 属性の名前空間 URI );
属性のローカル名を指定します。
属性の名前空間 URI を指定します。
この関数は、この Element ノードに指定されたローカル名と名前空間 URI を持つ属性 (Attribute ノード)が設定されているか判定します。
具体的には、この Element ノードが保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクト(属性情報)に 指定されたローカル名と名前空間 URI を持つ Attribute ノードが存在するか確認します。
注意 | |
---|---|
名前(属性名)で属性を指定する場合は、 SFXXMLElement::HasAttribute 関数を使用します。 |
注意 | |
---|---|
Attribute ノードの名前とは、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
SFXXMLElement::HasAttribute | SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::HasAttributes | SFXXMLElement::SetAttributeNS | SFXXMLElement::SetAttributeNodeNS | SFXXMLElement::GetAttributeNS | SFXXMLElement::GetAttributeNodeNS | SFXXMLElement::GetAttributes | SFXXMLElement::RemoveAttributeNS
[ public, const ] Bool HasAttributes(Void);
この関数は、この Element ノードに Attribute ノードが設定されているか判定します。
具体的には、この Element ノードが表す要素の属性情報を保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクトに Attribute ノードが存在するか確認します。
// Attribute ノードを持つかどうかを判定する
if(book->HasAttributes() == false){
.....
}
SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::HasAttribute | SFXXMLElement::SetAttribute | SFXXMLElement::SetAttributeNode | SFXXMLElement::GetAttribute | SFXXMLElement::GetAttributeNode | SFXXMLElement::GetAttributes | SFXXMLElement::RemoveAttribute | SFXXMLElement::RemoveAttributeNode
[ public, virtual, const ] Bool HasChildNodes(Void);
この関数は、このノードが子ノードを持つかどうか判定します。
[ public, virtual ] SFCError InsertBefore( SFXXMLNodeConstPtr newchild // 挿入するノード SFXXMLNodeConstPtr refchild // 参照ノード、このノードの直前に挿入される );
この関数は、newchild 引数に指定されたノード(newchild ノード)を refchild 引数に指定されたノード(refchild ノード)の前に挿入します。
newchild ノードをコピーせずにそのまま挿入します。 newchild ノードが既に DOM ツリー内に存在する場合は、 最初に DOM ツリーからその子ノードを削除します。
newchild ノードが DocumentFragment ノードの場合、 newchild ノードの代わりにその子ノードのすべてを元の順番どおりに、refchild ノードの直前に挿入します。
refchild ノードが null の場合は、一番最後の子ノードとして挿入します。 また、newchild ノードと refchild ノードが同じノードを指す場合、何も起こりません。
newchild / refchild 引数が不正になる条件 | |
---|---|
以下のとき、newchild / refchild 引数は不正となり、SFERR_INVALID_PARAM エラーが返ります。
|
// Element ノードを作成する SFXXMLElementPtr isbn = document.CreateElement("ISBN"); // Element ノードに Text ノードを追加する isbn->AppendChild(SFXXMLNodePtr(document.CreateTextNode("4-7741-1616-5"))); // Element ノードを追加する book->InsertBefore(SFXXMLNodePtr(isbn), book->GetFirstChild());
[ public ] Void RemoveAttribute( SFXAnsiStringConstRef name // 属性名: 名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあり );
属性名を指定します。名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。
この関数は、この Element ノードを表す要素の指定された名前を持つ属性を削除します。
指定された名前を持つ属性が存在しない場合、属性は削除されません。
具体的には、この Element ノードが保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクト(属性情報)から nodeName 属性値として name 引数に指定された名前を持つ Attribute ノードを削除します。
注意 | |
---|---|
Attribute ノードの名前とは、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
注意 | |
---|---|
ローカル名と名前空間 URI で属性を指定する場合は、 SFXXMLElement::RemoveAttributeNS 関数を使用します。 |
// "dt:dt" という名前の属性を削除する
book->RemoveAttribute("dt:dt");
SFXXMLElement::RemoveAttributeNS | SFXXMLElement::RemoveAttributeNode | SFXXMLElement::GetAttribute | SFXXMLElement::GetAttributeNode | SFXXMLElement::GetAttributes | SFXXMLElement::HasAttribute | SFXXMLElement::HasAttributes | SFXXMLElement::SetAttribute | SFXXMLElement::SetAttributeNode
[ public ] Void RemoveAttributeNS( SFXAnsiStringConstRef localname // 属性のローカル名 SFXAnsiStringConstRef namespaceURI // 属性の名前空間 URI );
属性のローカル名を指定します。
属性の名前空間 URI を指定します。
この関数は、この Element ノードを表す要素の指定されたローカル名と名前空間 URI を持つ属性を削除します。
指定されたローカル名と名前空間 URI を持つ属性が存在しない場合、属性は削除されません。
具体的には、この Element ノードが保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクト(属性情報)から 引数に指定されたローカル名と名前空間 URI を持つ Attribute ノードを削除します。
注意 | |
---|---|
名前(属性名)で属性を指定する場合は、 SFXXMLElement::RemoveAttribute 関数を使用します。 |
注意 | |
---|---|
Attribute ノードの名前とは、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
SFXXMLElement::RemoveAttribute | SFXXMLElement::GetAttributeNS | SFXXMLElement::GetAttributeNodeNS | SFXXMLElement::GetAttributes | SFXXMLElement::HasAttributeNS | SFXXMLElement::HasAttributes | SFXXMLElement::SetAttributeNS | SFXXMLElement::SetAttributeNodeNS | SFXXMLElement::RemoveAttributeNode
[ public ] SFXXMLAttributePtr RemoveAttributeNode( SFXXMLAttributePtr oldAttr // 削除する Attrubite ノード );
削除された Attrubite ノード(SFXXMLAttribute)
この関数は、この Element ノードから指定された Attribute ノードを削除します。
具体的には、この Element ノードが保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクト(属性情報)から指定された Attribute ノードの名前と同じ名前を持つ Attribute ノードを削除します。
この関数の戻り値は、削除された Attribute ノードです。
注意 | |
---|---|
Attribute ノードの名前は、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
// "dt:dt" という Attrubite ノードを取得する SFXXMLAttributePtr atti = book->GetAttributeNode("dt:dt"); // 取得した Attrubite ノードを Element ノードから削除する book->RemoveAttributeNode(atti); // Attrubite ノードを削除する delete atti;
SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::GetAttribute | SFXXMLElement::GetAttributeNode | SFXXMLElement::GetAttributes | SFXXMLElement::HasAttribute | SFXXMLElement::HasAttributes | SFXXMLElement::SetAttribute | SFXXMLElement::SetAttributeNode | SFXXMLElement::RemoveAttribute | SFXXMLAttribute
[ public, virtual ] SFCError RemoveChild( SFXXMLNodeConstPtr oldchild // 削除する子ノード );
この関数は、このノードから子孫ノードも含めて指定された子ノードを削除します。
[ public, virtual ] SFCError ReplaceChild( SFXXMLNodeConstPtr newchild // 置換後ノード SFXXMLNodeConstPtr oldchild // 置換前ノード );
この関数は、oldchild 引数に指定されたこのノードの子ノード(oldchild ノード)を newchild 引数に指定されたノード(newchild ノード)で置換します。
newchild ノードをコピーせずにそのまま挿入します。 newchild ノードが既に DOM ツリー内に存在する場合は、 最初に DOM ツリーからその子ノードを削除します。
oldchild ノード以下の子孫ノードは、DOM ツリーから削除され、メモリも解放されます。
newchild ノードが DocumentFragment ノードの場合、 newchild ノードの代わりにその子ノードのすべてを元の順番どおりに、oldchild ノードを置換します。
newchild ノードと oldchild ノードが同じである場合は、何も起こりません。
newchild / oldchild 引数が不正になる条件 | |
---|---|
以下のとき、newchild / oldchild 引数は不正となり、SFERR_INVALID_PARAM エラーが返ります。
|
注意 | |
---|---|
newchild 引数には、Element / ProcessingInstruction / Text / Comment / CDATASection / EntityReference の何れかのノードを指定してください。 |
Tip | |
---|---|
内部では、SFXXMLElement::InsertBefore(newchild, oldchild) を呼び出してから、 SFXXMLElement::RemoveChild(oldchild) を実行します。 |
// name ノードを作成する SFXXMLElementPtr name = document.CreateElement("NAME"); // テキストを作成し、name ノードに追加する name->AppendChild(SFXXMLNodePtr(document.CreateTextNode("Cosmos"))); // book ノードの最初の子ノードを name ノードで置換する book->ReplaceChild(name, book->GetFirstChild());
[ public ] Void SetAttribute( SFXAnsiStringConstRef name // 属性名(属性に名前空間が設定されている場合は修飾名) ACharConstPtr value // 設定する値(属性値) );
属性名(属性に名前空間が設定されている場合は修飾名)を指定します(Attribute ノードの nodeName 属性値を指定します)。
属性値を指定します(Attribute ノードの nodeValue 属性値を指定します)。
この関数は、指定された名前を持つ属性に指定された値(属性値)を設定します。
SFXXMLNode::DOMNamedNodeMap オブジェクト内に name 引数に指定された名前を nodeName 属性値とする Attribute ノードが存在する場合は、 その属性値(nodeValue 属性値)は value 引数で指定した値に上書きされます。 存在しない場合は、引数に指定された内容で Attribute ノードを作成し、 SFXXMLNode::DOMNamedNodeMap オブジェクトに追加します。
エンティティ参照を含む属性値を設定する方法 | |
---|---|
任意の Text ノード(SFXXMLText)と EntityReference ノード(SFXXMLEntityReference) を子ノードに持つ Attribute ノード(SFXXMLAttribute)を この関数の引数にします。 |
注意 | |
---|---|
この関数は、この Element ノードが表す要素の属性(属性名と属性値)を設定します。 |
注意 | |
---|---|
属性に名前空間が設定されている場合、属性名には修飾名("名前空間接頭辞:ローカル名")を指定します。 |
注意 | |
---|---|
Attribute ノードの名前は、XML 文書の属性名のことです。 |
注意 | |
---|---|
ローカル名と名前空間 URI で属性を指定する場合は、 SFXXMLElement::SetAttributeNS 関数を使用します。 |
SFXXMLElement::GetAttribute | SFXXMLElement::SetAttributeNS | SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::SetAttributeNode | SFXXMLElement::GetAttributeNode | SFXXMLElement::GetAttributes | SFXXMLElement::HasAttribute | SFXXMLElement::HasAttributes | SFXXMLElement::RemoveAttribute | SFXXMLElement::RemoveAttributeNode
[ public ] Void SetAttributeNS( SFXAnsiStringConstRef localname // 属性のローカル名 SFXAnsiStringConstRef namespaceURI // 属性の名前空間 URI ACharConstPtr value // 設定する値(属性値) );
属性のローカル名を指定します。
属性の名前空間 URI を指定します。
属性値を指定します。
この関数は、指定されたローカル名と名前空間 URI を持つ属性に指定された値(属性値)を設定します。
SFXXMLNode::DOMNamedNodeMap オブジェクト内に指定されたローカル名と名前空間 URI を持つ属性の Attribute ノードが存在する場合は、 その属性値は value 引数で指定した値に変更されます。 存在しない場合は、引数に指定された内容で Attribute ノードを作成し、 SFXXMLNode::DOMNamedNodeMap オブジェクトに設定します。
エンティティ参照を含む属性値を設定する方法 | |
---|---|
任意の Text ノード(SFXXMLText)と EntityReference ノード(SFXXMLEntityReference) を子ノードに持つ Attribute ノード(SFXXMLAttribute)を この関数の引数にします。 |
注意 | |
---|---|
この関数は、この Element ノードが表す要素の属性(属性名と属性値)を設定します。 |
注意 | |
---|---|
名前(属性名)で属性を指定する場合は、 SFXXMLElement::SetAttribute 関数を使用します。 |
注意 | |
---|---|
Attribute ノードの名前とは、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
SFXXMLElement::SetAttribute | SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::SetAttributeNodeNS | SFXXMLElement::GetAttributeNS | SFXXMLElement::GetAttributeNodeNS | SFXXMLElement::GetAttributes | SFXXMLElement::HasAttributeNS | SFXXMLElement::HasAttributes | SFXXMLElement::RemoveAttributeNS
[ public ] SFCError SetAttributeNode( SFXXMLAttributePtr newAttr // 設定する Attribute ノード );
この関数は、引数に指定された Attribute ノードをこのノードが内部で保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクトに設定します。
指定された Attribute ノードの名前と同じ名前を持つ Attribute ノードが SFXXMLNode::DOMNamedNodeMap オブジェクト内に既に存在する場合、 既存の Attribute ノードは削除され、引数に指定した Attribute ノードに置き換えられます。
注意 | |
---|---|
この関数は、この Element ノードが表す要素の属性を設定します(エンティティ参照を含む属性値を持つ属性も設定可能)。 |
注意 | |
---|---|
Attribute ノードの名前は、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
注意 | |
---|---|
指定された Attribute ノードの存在を調べるとき、 SFXXMLNode::DOMNamedNodeMap オブジェクトをローカル名と名前空間 URI で検索する場合は、 SFXXMLElement::SetAttributeNodeNS 関数を使用します。 |
// "isdn" という名前で Attribute ノードを作成する ( 属性値: "4-7741-1616-5" ) SFXXMLAttributePtr atti = document.CreateAttribute("isdn","4-7741-1616-5"); // Element ノード(book) に Attribute ノードを追加する book->SetAttributeNode(atti);
SFXXMLElement::SetAttributeNodeNS | SFXXMLNode::DOMNamedNodeMap | SFXXMLElement::SetAttribute | SFXXMLElement::GetAttribute | SFXXMLElement::GetAttributeNode | SFXXMLElement::GetAttributes | SFXXMLElement::HasAttribute | SFXXMLElement::HasAttributes | SFXXMLElement::RemoveAttribute | SFXXMLElement::RemoveAttributeNode
[ public ] SFCError SetAttributeNodeNS( SFXXMLAttributePtr newAttr // 設定する Attribute ノード );
この関数は、引数に指定された Attribute ノードをこのノードが内部で保持する、 SFXXMLNode::DOMNamedNodeMap オブジェクトに設定します。
SFXXMLNode::DOMNamedNodeMap オブジェクト内に指定された Attribute ノードと同じローカル名と名前空間 URI を持つ Attribute ノードが存在する場合、既存の Attribute ノードは削除され、引数に指定した Attribute ノードに置き換えられます。
注意 | |
---|---|
この関数は、この Element ノードが表す要素の属性を設定します(エンティティ参照を含む属性値を持つ属性も設定可能)。 |
注意 | |
---|---|
指定された Attribute ノードの存在を調べるとき、 SFXXMLNode::DOMNamedNodeMap オブジェクトを名前(属性名)で検索する場合は、 SFXXMLElement::SetAttributeNode 関数を使用します。 |
注意 | |
---|---|
Attribute ノードの名前とは、XML 文書の属性名のことです。 |
注意 | |
---|---|
属性名は、名前空間が設定されている場合、修飾名("名前空間接頭辞:ローカル名")になる場合もあります。 |
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |