以下のステートメントを使用して、エレメントからのメッセージ・ツリーを全探索します。
- getParent()
- 現行エレメントの親を戻します。
- getPreviousSibling()
- 現行エレメントの直前の兄弟を戻します。
- getNextSibling()
- 現行エレメントの次の兄弟を戻します。
- getChild()
- 名前が最初のパラメーターにより付与される、現行エレメントの最初の子を戻します。 2 番目のオプション・パラメーターを指定することによって、子エレメントの n 番目のオカレンスを返すことができます。
- getChildren()
- 現行エレメントのすべての子エレメントを MbsElements の配列として戻します。 namespace パラメーターが指定された場合、配列にはそのネーム・スペース URI を持つ子エレメントのみが入ります。
- getFirstChild()
- 現行エレメントの最初の子を戻します。
- getLastChild()
- 現行エレメントの最後の子を戻します。
以下の例は、簡単な XML メッセージ、およびそのメッセージから作成される論理ツリーを示しています。 メッセージが WebSphere® MQ を使用して送信されています。
論理ツリー図は、ツリー内をナビゲートするために呼び出されるメソッドも示しています。
<document>
<chapter title='Introduction'>
Some text
</chapter>
</document>
この図で使用されるツリーは、このトピックで示された XML の例を構文解析して作成されたものです。
- ツリーのルート部分から getFirstChild() を呼び出すと、「プロパティー」までナビゲートします。 同じくルートから、getLastChild() を呼び出すと XML が戻されます。
- 「プロパティー」から getParent() を呼び出すとルートが戻され、
getNextSibling() を呼び出すと MQMD が戻されます。
- MQMD から getPreviousSibling() を呼び出すと「プロパティー」が戻され、
getParent() を呼び出すとルートが戻され、
getNextSibling() を呼び出すと XML が戻されます。
- XML から getPreviousSibling() を呼び出すと MQMD が戻され、
getParent() を呼び出すとルートが戻され、
getFirstChild() を呼び出すと文書が戻され、
getLastChild() を呼び出すと同様に文書が戻されます。
- 文書から getParent() を呼び出すと XML が戻され、
getFirstChild() を呼び出すと章が戻され、
getLastChild() を呼び出すと同様に章が戻されます。
- 章から getParent() を呼び出すと文書が戻され、
getFirstChild() を呼び出すとタイトルが戻され、
getLastChild() を呼び出すとメッセージ・データ "Some text." を含む子が戻されます。
次の例は、MbsElement メソッドを使用して章エレメントにナビゲートする方法を示しています。
$chapter = $input_assembly->getLastChild()->getFirstChild()->getFirstChild();
以下の例は、パス構文を使用して章エレメントにナビゲートする方法を示しています。
$chapter = $input_assembly->XML->document->chapter;