Latest web development tutorials
×

PHP curso

PHP curso PHP breve introdução PHP instalar PHP gramática PHP variável PHP echo/print PHP Tipos de dados PHP constante PHP corda PHP operadores PHP If...Else PHP Switch PHP ordem PHP Classificação de uma matriz PHP superglobais PHP While circulação PHP For circulação PHP função PHP Variáveis ​​mágicas PHP namespaces PHP Object-Oriented

PHP formulário

PHP formulário PHP Autenticação de formulários PHP formulário - campos obrigatórios PHP formulário - -mail de verificação e URL PHP instância de formulário completo PHP $_GET variável PHP $_POST variável

PHP Tutorial avançado

PHP arrays multidimensionais PHP data PHP conter PHP arquivo PHP Carregar arquivo PHP Cookie PHP Session PHP E-mail PHP segurança E-mail PHP Error PHP Exception PHP filtro PHP Filtro avançado PHP JSON

PHP 7 novos Recursos

PHP 7 novos Recursos

PHP banco de dados

PHP MySQL breve introdução PHP MySQL conexão PHP MySQL Criação de um banco de dados PHP MySQL Criar uma tabela de dados PHP MySQL inserir dados PHP MySQL Inserir dados múltiplos PHP MySQL instruções preparadas PHP MySQL ler dados PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX breve introdução AJAX PHP AJAX banco de dados AJAX XML AJAX busca em tempo real AJAX RSS Reader AJAX voto

PHP manual de referência

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Processamento de imagem PHP RESTful

parser PHP XML Expat

Built-in analisador PHP Expat faz com que seja possível processar documentos XML.


O que é XML?

XML é usado para descrever os dados e se concentrar no que dados Sim. ficheiro XML descreve a estrutura dos dados.

Em XML, não há tags predefinidas. Você deve definir suas próprias tags.

Para saber mais sobre XML, por favor visite nosso tutorial XML .


O que Expat sim?

Para ler e atualizar - criar e processo - um documento XML, você precisa de um parser XML.

Existem dois tipos básicos de analisadores de XML:

  • parser baseado em árvore: Este analisador transforma um documento XML em uma estrutura de árvore. Ele analisa o documento inteiro, e fornece acesso aos elementos na árvore, como o Document Object Model (DOM).
  • parser baseado em eventos: O documento XML como uma série de eventos. Quando ocorre um evento específico, o analisador irá chamar a função para processar.

analisador Expat é analisador baseado em eventos.

foco analisador baseado em evento sobre o conteúdo de um documento XML, em vez de sua estrutura. Devido a isso, analisador baseado em eventos podem acessar os dados mais rapidamente do que parser baseado em árvore.

Considere o seguinte fragmento de XML:

<from>Jani</from>

parser baseado em eventos relata o XML acima como uma série de três eventos:

  • Inicie elemento: a partir de
  • Iniciar seção CDATA, value: Jani
  • Fechar elemento: a partir de

XML de exemplo acima contém XML bem formado. Mas este exemplo não é XML válido, porque a declaração de tipo de documento (DTD) não está associado a ele.

No entanto, quando se utiliza o analisador Expat, isso não faz diferença. analisador Expat não é verificada para a validade, ignorar qualquer DTD.

Como validar non-parser baseado em eventos, XML, Expat rápido e leve, muito adequado para aplicações Web PHP.

Nota: documento XMLdeve ser bem formado, caso contrário Expat irá gerar um erro.


instalar

Funções para analisar XML Expat fazem parte do núcleo do PHP. Nenhuma instalação necessária para utilizar estas funções.


arquivo XML

O arquivo XML a seguir serão usados ​​no nosso exemplo:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


Inicializar o analisador XML

Queremos inicializar o analisador XML no PHP, definir processador para diferentes eventos XML e, em seguida, analisar o arquivo XML.

Exemplos

<?php
//Initialize the XML parser
$parser=xml_parser_create();

//Function to use at the start of an element
function start($parser,$element_name,$element_attrs)
{
switch($element_name)
{
case "NOTE":
echo "-- Note --<br>";
break;
case "TO":
echo "To: ";
break;
case "FROM":
echo "From: ";
break;
case "HEADING":
echo "Heading: ";
break;
case "BODY":
echo "Message: ";
}
}

//Function to use at the end of an element
function stop($parser,$element_name)
{
echo "<br>";
}

//Function to use when finding character data
function char($parser,$data)
{
echo $data;
}

//Specify element handler
xml_set_element_handler($parser,"start","stop");

//Specify data handler
xml_set_character_data_handler($parser,"char");

//Open XML file
$fp=fopen("test.xml","r");

//Read data
while ($data=fread($fp,4096))
{
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}

//Free the XML parser
xml_parser_free($parser);
?>

O código acima exibirá:

-- Note --
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!

Como funciona:

  1. Por xml_parser_create () função inicializa o analisador XML
  2. Criar com função de manipulador de eventos diferentes
  3. Adicionar xml_set_element_handler () para definir, qual função a ser executada quando o analisador encontra as tags de início e fim
  4. Adicionar xml_set_character_data_handler () para definir, qual função a ser executada quando o analisador encontra dados de caracteres
  5. Por xml_parse () para analisar o arquivo "test.xml"
  6. No caso de haver um erro, em seguida, adicione xml_error_string () para converter texto de descrição de erro XML
  7. Chamada xml_parser_free () para liberar atribuído a xml_parser_create (função de memória)

Mais informações analisador PHP Expat

Para mais informações sobre as funções PHP Expat, visite o nosso XML PHP Manual do Analisador de referência .