構文
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