構文
XML_Node *XML_SetNodeValueByPath(
XML_HANDLE hXml,
const char *nodePath,
const char *value,
int *ErrCode
);
パラメータ
- hXml
- [in] XMLハンドル
- nodePath
- [in] フルパスを指定する文字列を指すポインタ。
- value
- [in] ノードに設定する文字列を指すポインタ。
- ErrCode
- [out] エラーコードを返す変数を指すポインタ。エラーコードが不要のときはNULLを指定します。
戻り値
関数が成功したら値を設定したノードのXML_Node構造体を指すポインタを、それ以外はNULLを返します。
解説
フルパスの指定に従ってノードを検索します。
ノードが見つかったときは、そのノードの値にvalueで指定された値を設定し、そのノードのXML_Node構造体を指すポインタを返します。
フルパスの最後のノード以外の上位の中間ノードがすべて存在して一意に特定できたが、最後のノードだけが見つからなかったときは、新たにその名前のノードを追加してそのノードの値にvalueで指定された値を設定し、そのノードのXML_Node構造体を指すポインタを返します。
複数のノードが見つかったときは関数が失敗し、ErrCodeに XML_NOT_UNIQUE_NODE を返します。
見つかったノードが中間ノードだったときは関数が失敗し、ErrCodeに XML_NO_VALUE_IN_INTERMEDIATE_NODE を返します。
関数が失敗したときはNULLを返し、ErrCodeに次のエラーコードを返します。
エラーコード | 説明 |
---|---|
XML_INVALID_PARAMETER_ERROR | パラメーターエラー |
XML_MEMORY_ALLOCATION_ERROR | メモリーアロケーションエラー |
XML_INVALID_XML_OBJECT_ERROR | 不正なXMLハンドルが指定された。 |
XML_NOT_FOUND | 指定した名前のノードが見つからなかった。 |
XML_NOT_UNIQUE_INTERMEDIATE_NODE | ノードパスの途中の階層で、指定された名前のノードが複数検出された。 |
XML_NOT_UNIQUE_NODE | 同じ名前のノードが複数ある。 |
XML_NO_VALUE_IN_INTERMEDIATE_NODE | 中間ノードは値を持たない。 |
必要条件
- ヘッダファイル:
-
XML.h
CodeConversion.h : ver.1.1.1以降 - ライブラリファイル:
-
libXML.a
libCodeConversion.a : ver.1.1.1以降
libSTARTUPOPH5000.a
関連事項
最終更新日:2021/10/21