xml_parse
(PHP 4, PHP 5, PHP 7, PHP 8)
xml_parse — Inicia análise de um documento XML
Descrição
xml_parse() analisa um documento XML. Os manipuladores para os eventos configurados são chamados quantas vezes forem necessárias.
Parâmetros
parser
-
Uma referência ao analisador XML a ser usado.
data
-
Bloco de dados a serem analisados. Um documento pode ser analisado em partes chamando xml_parse() várias vezes com novos dados, desde que o parâmetro
is_final
esteja definido etrue
quando os últimos dados forem analisados. is_final
-
Se definido e
true
,data
é o último pedaço de dados enviado nesta análise.
Valor Retornado
Retorna 1 em caso de sucesso ou 0 em caso de falha.
Para análises malsucedidas, as informações de erro podem ser recuperadas com xml_get_error_code(), xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number() e xml_get_current_byte_index().
Note:
Alguns erros (como erros de entidade) são relatados no final dos dados, portanto, somente se
is_final
estiver definido etrue
.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro parser agora espera uma instância de XMLParser;
anteriormente, um resource xml válido era esperado.
|
Exemplos
Example #1 Análise em blocos de documentos XML grandes
Este exemplo mostra como documentos XML grandes podem ser lidos e analisados em pedaços, para que não seja necessário manter o documento inteiro na memória. O tratamento de erros é omitido por questões de brevidade.
<?php
$stream = fopen('large.xml', 'r');
$parser = xml_parser_create();
// configure os manipuladores aqui
while (($data = fread($stream, 16384))) {
xml_parse($parser, $data); // analise o pedaço atual
}
xml_parse($parser, '', true); // finalize a análise
xml_parser_free($parser);
fclose($stream);