Utilize métodos PHP para acessar árvores de elementos.
Utilize as seguintes instruções para atravessar uma árvore de mensagens a partir de um elemento:
- getParent()
- Retorna o pai do elemento atual.
- getPreviousSibling()
- Retorna o irmão anterior do elemento atual.
- getNextSibling()
- Retorna o próximo irmão do elemento atual.
- getChild()
- Retorna o primeiro filho do elemento atual, cujo nome é dado pelo primeiro parâmetro. A na ocorrência desse
elemento filho pode ser retornada especificando o segundo parâmetro opcional.
- getChildren()
- Retorna todos os elementos filhos do elemento atual como uma matriz
de MbsElements. Se o parâmetro namespace for
especificado, a matriz conterá somente os elementos filhos com esse
URI de espaço de nomes.
- getFirstChild()
- Retorna o primeiro filho do elemento atual.
- getLastChild()
- Retorna o último filho do elemento atual.
O exemplo a seguir mostra uma mensagem XML simples e a árvore lógica criada a partir desta mensagem. A mensagem foi enviada usando WebSphere MQ.
O diagrama da árvore lógica também mostra os métodos a chamar para navegar
pela árvore:
<document>
<chapter title='Introduction'>
Some text
</chapter>
</document>
A árvore usada nesse diagrama é aquela que é criada analisando o exemplo XML dado neste tópico.
- A partir da parte Raiz da árvore, chamar getFirstChild() navega para as Propriedades. Também a partir de Raiz, chamar getLastChild() retorna
XML.
- Em Propriedades, a chamada de getParent() retorna Raiz; a chamada
de getNextSibling() retorna MQMD.
- Em MQMD, a chamada de
getPreviousSibling() retorna Propriedades, a chamada de
getParent() retorna Raiz e a chamada de
getNextSibling() retorna XML.
- Em XML, a chamada de
getPreviousSibling() retorna MQMD, a chamada de
getParent() retorna Raiz, a chamada de
getFirstChild() retorna documento e a chamada de
getLastChild() também retorna documento.
- Em documento, a chamada de getParent() retorna XML, a chamada de
getFirstChild() retorna capítulo e a chamada de
getLastChild() também retorna capítulo.
- Em capítulo, a chamada de getParent() retorna documento, a chamada de
getFirstChild() retorna título e a chamada de
getLastChild() retorna o filho que contém os dados de mensagem "Um
texto.".
O exemplo a seguir mostra como utilizar os métodos MbsElement para navegar pelo elemento do capítulo:
$chapter = $input_assembly->getLastChild()->getFirstChild()->getFirstChild();
O exemplo a seguir mostra como navegar para o elemento do capítulo usando o caminho da sintaxe:
$chapter = $input_assembly->XML->document->chapter;