構文
XML_Node *XML_FindChildNodeByPath(
XML_HANDLE hXml,
XML_Node *parentNode,
const char *childNodePath,
int *ErrCode
);
パラメータ
- hXml
- [in] XMLハンドル
- parentNode
- [in] 親ノードのXML_Node構造体を指すポインタ。
- childNodePath
- [in] 相対パスを指定する文字列を指すポインタ。
- ErrCode
- [out] エラーコードを返す変数を指すポインタ。エラーコードが不要のときはNULLを指定します。
戻り値
関数が成功したらXML_Node構造体を指すポインタを、それ以外はNULLを返します。解説
親ノードと相対パスの指定に従ってノードを検索します。
ノードが見つかったときは、そのノードのXML_Node構造体を指すポインタを返します。
複数のノードが見つかったときは、最初に見つかったノードのXML_Node構造体を指すポインタを返し、ErrCodeには次のエラーコードを返します。
エラーコード | 説明 |
---|---|
XML_NOT_UNIQUE_NODE | 同じ名前のノードが複数ある。 |
(例) 同じ名前のノードが複数ある場合
親ノードに"ship_order"ノードを指定し、相対パスに"orders/order"を指定すると、最初の"order"ノードのXML_Node構造体を指すポインタが返され、ErrCodeには XML_NOT_UNIQUE_NODE が返されます。... <ship_order> ← 指定の親ノード <date>2021/09/10</date> <customer> <customerID>C00001</customerID> <name>A corporation</name> </customer> <orders> <order> ← 検索結果のノード (XML_NOT_UNIQUE_NODE) <productID>PID0000100</productID> <name>A product</name> </order> <order> ← 指定の名前と一致する別のノード <productID>PID0000200</productID> <name>B product</name> </order> </orders> </ship_order> ...
関数が失敗したときはNULLを返し、ErrCodeには次のエラーコードを返します。
エラーコード | 説明 |
---|---|
XML_INVALID_PARAMETER_ERROR | パラメーターエラー |
XML_MEMORY_ALLOCATION_ERROR | メモリーアロケーションエラー |
XML_INVALID_XML_OBJECT_ERROR | 不正なXMLハンドルが指定された。 |
XML_INVALID_NODE_OBJECT_ERROR | 不正なノードが指定された。 |
XML_NOT_FOUND | 指定した名前のノードが見つからなかった。 |
XML_NOT_UNIQUE_INTERMEDIATE_NODE | ノードパスの途中の階層で、指定された名前のノードが複数検出された。 |
必要条件
- ヘッダファイル:
-
XML.h
CodeConversion.h : ver.1.1.1以降 - ライブラリファイル:
-
libXML.a
libCodeConversion.a : ver.1.1.1以降
libSTARTUPOPH5000.a
関連事項
最終更新日:2021/10/21