MQXmlElementクラス

(new in Rev2.40)

MQXmlElementクラスはXMLのデータ要素を管理するクラスです。

プラグインからはこのクラスを通じて、ANSI文字コードのマルチバイト文字、またはUnicode(UTF-16)ワイド文字を用いて、データ要素・テキストノード・属性にアクセスすることができます。


MQXmlElement MQXmlElement::AddChildElement(const char *name);
MQXmlElement MQXmlElement::AddChildElement(const wchar_t *name);

name
要素名
戻り値
XMLデータ要素

XML要素に子ノードとして新しいXML要素を追加します。


BOOL MQXmlElement::RemoveChildElement(MQXmlElement child);

child
子要素名
戻り値
[TRUE] 正常終了
[FALSE] 指定された子要素は存在しない

子要素を削除します。


MQXmlElement MQXmlElement::FirstChildElement(void);
MQXmlElement MQXmlElement::FirstChildElement(const char *name);
MQXmlElement MQXmlElement::FirstChildElement(const wchar_t *name);

name
子要素名
戻り値
XML要素(なければNULL)

子要素のうち先頭にあるものを取得します。nameを指定すると、要素名が一致するもののうち、リスト上の一番先頭にあるものを返します。

子要素がない、または要素名が一致するものがなければNULLが返ります。


MQXmlElement MQXmlElement::NextChildElement(MQXmlElement child);
MQXmlElement MQXmlElement::NextChildElement(const char *name, MQXmlElement child);
MQXmlElement MQXmlElement::NextChildElement(const wchar_t *name, MQXmlElement child);

name
子要素名
child
兄となる子XML要素
戻り値
XML要素(なければNULL)

子要素のうちchildの次にリスト上にあるものを取得します。nameを指定すると、要素名が一致するもののうち、childから最も近い弟の要素となるものを返します。

子要素がない、または要素名が一致するものがなければNULLが返ります。

この関数はFirstChildElement()に続いて呼び出します。FirstChildElement()およびNextChidlElement()の戻り値がNULLになるまで呼び出すことにより、XML要素が持つすべての子要素を列挙することができます。

使用例
この例ではすべての子要素の名前・テキストをデバッグウインドウへ書き出します。
MQXmlElement child = elem->FirstChildElement();
while (child != NULL){
        std::string name = child->GetName();
        std::string text = child->GetText();
        OutputDebugString("<%s>%s</%s>\n",name.c_str(),text.c_str(),name.c_str());
        child = elem->NextChildElement(child);
}

MQXmlElement MQXmlElement::GetParentElement(void);

戻り値
親要素(なければNULL)

親要素を取得します。


std::string MQXmlElement::GetName(void);
std::wstring MQXmlElement::GetNameW(void);

戻り値
XML要素名

 要素名を取得します。


std::string MQXmlElement::GetText(void);
std::wstring MQXmlElement::GetTextW(void);
BOOL MQXmlElement::GetText(std::string& result_str);
BOOL MQXmlElement::GetTextW(std::wstring& result_str);

result_str
XMLテキストノードの値
戻り値
[std::string / std::wstring] XMLテキストノードの値(ノードが存在しない場合は空白文字列)
[BOOL - TRUE] テキストノードは存在する
[BOOL - FALSE] テキストノードが存在しない

XML要素が持つテキストノードの値を取得します。


std::string MQXmlElement::GetAttribute(const char *name);
std::wstring MQXmlElement::GetAttribute(const wchar_t *name);
BOOL MQXmlElement::GetAttribute(const char *name, std::string& result_str);
BOOL MQXmlElement::GetAttribute(const wchar_t *name, std::wstring& result_str);

name
属性名
result_str
属性の値
戻り値
[std::string / std::wstring] 属性の値(ノードが存在しない場合は空白文字列)
[BOOL - TRUE] 属性ノードが存在する
[BOOL - FALSE] 属性ノードが存在しない

XML要素が持つ、指定された属性の値を取得します。


void MQXmlElement::SetText(const char *text);
void MQXmlElement::SetText(const wchar_t *text);

text
テキストの値

XML要素に、テキストノードを追加します。


void MQXmlElement::SetAttribute(const char *name, const char *value);
void MQXmlElement::SetAttribute(const wchar_t *name, const wchar_t *value);

name
属性名
value
属性の値

XML要素に属性を附加します。