A função xml_parse_into_struct() analisa dados XML em um array.
Esta função analisa dados XML em 2 arrays:
Matriz de valores - contém dados do XML analisado
Matriz de índice - Contém ponteiros para as localizações dos valores na matriz de valores
Se for bem-sucedido, a função retornará 1. Se falhar, 0 será retornado.
xml_parse_into_struct(analisador,xml,value_arr,index_arr)
parâmetro | descrever |
---|---|
analisador | Obrigatório. Especifica o analisador XML a ser usado. |
xml | Obrigatório. Especifica os dados XML a serem analisados. |
valor_arr | Obrigatório. Especifica a matriz de destino para dados XML. |
índice_arr | Opcional. Especifica a matriz de destino de dados de índice. |
Nota: A função xml_parse_into_struct() retorna 1 se for bem-sucedida e 0 se falhar. Isso é diferente de TRUE e FALSE, portanto tome cuidado ao usar, por exemplo, o operador ===.
Arquivo XML
<?xml version="1.0" encoding="ISO-8859-1"?><note><to>Tove</to><from>Jani</from><heading>Lembrete</heading><body>Don não se esqueça de mim neste fim de semana!</body></note>
Código PHP
<?php//arquivo xml inválido$xmlfile = 'test.xml';$xmlparser = xml_parser_create();// abre um arquivo e lê os dados$fp = fopen($xmlfile, 'r');$xmldata = fread( $fp, 4096);xml_parse_into_struct($xmlparser,$xmldata,$valores);xml_parser_free($xmlparser);print_r($valores);?>
A saída do código acima é semelhante a esta:
Array([0] => Array ( [tag] => NOTA [type] => abrir [level] => 1 [value] => )[1] => Array ( [tag] => TO [type] = > complete [nível] => 2 [valor] => Tove )[2] => Array ( [tag] => NOTA [valor] => [tipo] => cdata [nível] => 1 ) [3] = > Matriz ([tag] => FROM [tipo] => completo [nível] => 2 [valor] => Jani )[4] => Array ( [tag] => NOTA [valor] => [tipo] => cdata [nível] = > 1) [5] => Array ( [tag] => HEADING [type] => completo [nível] => 2 [valor] => Lembrete)[6] => Array ( [tag] => NOTA [valor ] => [tipo] => cdata [level] => 1 ) [7] => Array ( [tag] => BODY [type] => complete [level] => 2 [value] => Não se esqueça de mim neste fim de semana! )[ 8] => Array ( [tag] => NOTA [valor] => [tipo] => cdata [nível] => 1)[9] => Array ( [tag] => NOTA [tipo] => fechar [ nível] => 1 ))