Utilice métodos PHP para acceder a árboles de elemento.
Utilice las sentencias siguientes para
recorrer un árbol de mensaje desde un elemento:
- getParent()
- Devuelve el padre del elemento actual.
- getPreviousSibling()
- Devuelve el hermano anterior del elemento actual.
- getNextSibling()
- Devuelve el hermano siguiente del elemento actual.
- getChild()
- Devuelve el primer hijo del elemento actual, cuyo nombre lo
proporciona el primer parámetro. Puede devolverse la aparición nth de ese elemento hijo especificando un segundo parámetro opcional.
- getChildren()
- Devuelve todos los elementos hijo del elemento actual como un matriz de MbsElements. Si se especifica el parámetro namespace, la matriz contiene sólo los elementos hijo con ese URI de espacio de nombres.
- getFirstChild()
- Devuelve el primer hijo del elemento actual.
- getLastChild()
- Devuelve el último hijo del elemento actual.
El ejemplo siguiente muestra un mensaje XML simple y el árbol lógico que
se crea a partir del mensaje. El mensaje se ha enviado utilizando WebSphere MQ.
El diagrama de árbol lógico también muestra los métodos de llamada para navegar por el árbol:
<document>
<chapter title='Introducción'>
Texto
</chapter>
</document>
El árbol que se utiliza en este diagrama es el que se ha creado analizando el ejemplo de XML proporcionado en este tema.
- Desde la parte Root (raíz) del árbol, al llamar a getFirstChild() se navega a las propiedades. Asimismo desde Root, la llamada a getLastChild()
devuelve XML.
- Desde Properties, la llamada a
getParent() devuelve Root y la llamada a
getNextSibling() devuelve MQMD.
- Desde MQMD, la llamada
a getPreviousSibling() devuelve Properties, la llamada
a getParent() devuelve Root y la llamada
a getNextSibling() devuelve XML.
- Desde XML, la llamada
a getPreviousSibling() devuelve MQMD, la llamada a
getParent() devuelve Root, la llamada a
getFirstChild() devuelve 'document' (documento) y la
llamada a getLastChild() también devuelve 'document'.
- Desde 'document', la llamada a getParent() devuelve
XML, la llamada a getFirstChild() devuelve 'chapter'
(capítulo) y la llamada a getLastChild() también
devuelve 'chapter'.
- Desde 'chapter', la llamada a getParent() devuelve
'document', la llamada a getFirstChild() devuelve
'title' (título) y la llamada a getLastChild() devuelve
el hijo que contiene los datos del mensaje "Texto.".
El
ejemplo siguiente muestra cómo utilizar los métodos
MbsElement para navegar hasta el elemento de capítulo:
$chapter = $input_assembly->getLastChild()->getFirstChild()->getFirstChild();
El ejemplo siguiente muestra cómo navegar hasta el elemento de capítulo utilizando la sintaxis de vía de acceso:
$chapter = $input_assembly->XML->document->chapter;