(PHP 3 >= 3.0.8, PHP 4, PHP 5)
xml_parse_into_struct -- Analisa dados XML dentro de uma estrutura de array
Esta função analisa uma arquivo XML dentro de 2 estruturas de array
paralelas, um (index
) contendo indicadores para a
localização dos valores apropriados nos values
do
array. Estes dois últimos parâmetros deve ser passados por referência.
Abaixo tem um exemplo que ilustra a estrutura interna dos arrays sendo gerados pela função. Nós usamos uma simples note tag imbutida dentro da para tag, e quando nós analisamos isto exibe as estruturas geredas:
<?php |
Quando nós executarmos o código, a saída será:
Index array Array ( [PARA] => Array ( [0] => 0 [1] => 2 ) [NOTE] => Array ( [0] => 1 ) ) Vals array Array ( [0] => Array ( [tag] => PARA [type] => open [level] => 1 ) [1] => Array ( [tag] => NOTE [type] => complete [level] => 2 [value] => simple note ) [2] => Array ( [tag] => PARA [type] => close [level] => 1 ) ) |
Análise dirigida por eventos (Event-driven parsing) (baseada nabiblioteca do expat) pode complicado quando você tem um documento XML que é complexo. Esta função não produz um objeto no estilo DOM, mas gera estruturas cômodas de serem organizadas em uma forma de árvore. Assim, nós podemos criar objetos representando os dados nos arquivos facilmente. Vamos considerar o seguinte arquivo representando um pequeno banco de dados de informações de aminoácidos:
Exemplo 2. parsemoldb.php - analisa moldb.xml e cria o array dos objetos moleculares
|
$db
contém um array dos objetos de
AminoAcid, e a saída do script confirma isso: