Índice
Antes de mergulharmos na parte técnica de como criar esses documentos, devemos primeiro entender o que é um arquivo. XML, e quais são as suas aplicações reais e atuais, assim poderemos apreciar muito mais os conhecimentos que podemos adquirir nesta seção.O que é um arquivo XML?Certamente muitos de vocês já sabem que é um arquivo XMLPorém, para quem não conhece ou é a primeira vez que vê esse termo, vamos explicar um pouco o seu conceito. XML é uma linguagem de marcação e marcação muito semelhante a HTML que nos permite organizar o conteúdo em um documento. É composto por rótulos e entidades, e devemos seguir várias regras ao gerá-lo.
Você certamente vai pensar que estou descrevendo o HTML também, e por que não usamos o último em vez de criar uma nova linguagem, simplesmente porque o XML é mais rígido e personalizável, por isso é muito mais flexível de usar e fácil de entender. Os rótulos em HTML já estão definidos em seu padrão, em vez de um XML rótulos são criados por nós de acordo com as regras da linguagem.
No início do tutorial, mencionamos uma das aplicações mais conhecidas do XML e é organizar o conteúdo para que possa ser consumido pelos aplicativos, isso é o que basicamente é necessário. Ao organizar um documento XML podemos fazer o que é chamado de analisar, que nada mais é do que ler o arquivo e se seguir o padrão poderemos saber qual é a sua estrutura e assim processar o referido conteúdo dentro do nosso programa.
Em um contexto real, o XML pode ser usado para transmitir dados por meio de um serviço de internet ou para restaurar e importar dados em um Base de dados. Como podemos ver, é um formato de portabilidade, ou seja, transportar dados de uma plataforma para outra. Também funciona dentro da mesma plataforma, por exemplo um arquivo de configuração onde cada rótulo corresponde aos parâmetros que nossa aplicação lê para gerar um comportamento adequado.
Embora nos últimos anos o formato JSON ganhou muita popularidade em ambientes da web e, sem dúvida, vem ganhando popularidade em relação ao XML, na realidade não é assim já que cada um tem o seu espaço, a vantagem de JSON é que é nativo de Javascript e com as novas formas de trabalhar com essa linguagem, a conversão é praticamente desnecessária.
No entanto, em outros ambientes, como aplicativos de desktop, linguagens de servidor diferentes Javascript e aplicativos que estão no mercado há muito tempo, XML é uma opção válida e amplamente utilizada.
Como sempre tudo depende de nossas necessidades, podemos dizer que nem JSON nenhum XML eles são ruins, cada um simplesmente tem seu escopo e sua finalidade, então se quisermos usar XML e alguém nos diz que estamos desatualizados, só saiba que para as nossas necessidades é totalmente válido.
Como já explicamos um arquivo XML É composto por tags, porém para ser interpretado corretamente deve ter um título e depois iniciar com o conteúdo. O cabeçalho é conhecido como DTD ou Definição de Tipo de Documento, que pode ser traduzido como definição de tipo do documento e, em seguida, o conteúdo é o esquema ou esquema em espanhol.
O que o DTD faz?O DTD é quem vai dar a informação ao analisador sobre que tipo de XML está e dentro do esquema É para onde irá o conteúdo que criamos para o nosso documento.
Na imagem a seguir, veremos a aparência de um documento de teste que temos em nosso ambiente de desenvolvimento de aplicativos:
Percebemos que o XML não é nada mais do que texto, então podemos fazer rotinas simples dentro de nosso aplicativo em PHP para gerar o conteúdo correspondente a um arquivo XML, no entanto, se virmos o cabeçalho do arquivo XML tem as mesmas tags que as tags de abertura do idioma, ou seja, então, se fizermos um jogou fora conteúdo simples do XML vamos obter um erro de sintaxe.
Podemos corrigir isso facilmente usando um cabeçalho e mudando o Tipo MIME por text / xml isto fará com que o intérprete PHP não considere mais o cabeçalho do nosso conteúdo como um erro XML que estamos gerando. Vejamos abaixo o código que usaremos para criar nosso pequeno exemplo:
"Clube da Luta", 'autor' => "Chuck Palahniuk"), array ('título' => "Guerra Mundial Z", 'autor' => "Max Brooks",)); foreach ($ books as $ book) {echo "\ n"; echo "{$ book ['title']} \ n"; echo "{$ book ['autor']} \ n"; echo "\ n \ n"; }?> var13 ->
Vemos aqui como a primeira coisa que fazemos é gerar o cabeçalho do documento com o cabeçalho, isso nos permitirá colocar a marca inicial de nosso XML sem levantar erros de sintaxe em PHP, então colocamos fora do código nossa tag raiz do esquema, neste caso, biblioteca.
Em seguida, fazemos uma pequena matriz com vários elementos que chamamos de livros, o importante aqui, embora seja algo manual, é que podemos ver que poderíamos fazer isso com um resultado de Base de dados por exemplo. Por fim, percorremos nosso array e imprimimos, sempre respeitando os rótulos para que nosso XML está bem formado.
No final, quando executarmos isso em nosso servidor de teste, obteremos algo como o seguinte no navegador:
PROLONGAR
Melhorando o processamentoEmbora o acima funcione muito bem e seja muito útil, é muito sujeito a erros, portanto, para nossa ajuda, temos várias bibliotecas que nos permitem criar documentos XML das definições mais comuns da linguagem, para isso temos a biblioteca SOL e a livraria SimpleXML, ambos nos permitem gerar documentos XML bem como fazer o analisar Dos mesmos.No exemplo a seguir, vamos pegar um arquivo XML que está em nosso diretório, para facilitar as coisas podemos salvar o documento que foi gerado no exemplo anterior e o chamaremos php_crear_xml.xml, levando em consideração que ao modificar a extensão não poderemos mais usar o PHP para imprimir o cabeçalho, uma maneira fácil de ver o XML cheio é pressionar CTRL + u e teremos o mesmo. Assim que tivermos nosso arquivo de teste, vamos usar o seguinte código para fazer o analisar do arquivo.
load ("example1.xml"); processo ($ parser-> documentElement); função processo ($ node) {foreach ($ node-> childNodes as $ child) {if ($ child-> nodeType == XML_TEXT_NODE) {echo "". $ child-> nodeValue."
";} else if ($ child-> nodeType == XML_ELEMENT_NODE) {process ($ child);}}}?> var13 ->
No código, vemos que criamos um objeto do tipo DOMDocument, isso nos trará a livraria SOL ser capaz de interpretar o XML, então com o método carga () nós carregamos o arquivo XML que temos em nossa rota e então chamamos a função processar() este é o que nos permitirá percorrer o documento carregado.
Finalmente definimos nossa função, aqui passamos por cada nó e então fazemos uma condicional se for um elemento XML Chamamos a função, caso contrário, se for um texto, podemos imprimi-lo, com isso podemos obter o conteúdo do XML Sem problemas.
O único defeito deste método e desta biblioteca é a quantidade de memória necessária no servidor, portanto, se fosse um arquivo grande XML seria muito difícil para o nosso servidor processá-lo.
Nós também temos a biblioteca SimpleXML ser capaz de criar e processar os arquivos XML, seu uso é algo semelhante ao da biblioteca SOLPorém, é mais limitado em termos de aplicação e de maior complexidade, embora seja um pouco maior, por isso nosso código pode ser mais complexo.
O interessante sobre esta biblioteca é que um objeto é criado com nosso XML com o qual podemos acessar diretamente suas propriedades e, assim, trabalhar com eles. Vamos ver no código a seguir como podemos acessar os rótulos qualificação de cada livro que temos em nosso XML de testes.
livro como $ livro) {echo $ livro-> título. "
";}?> var13 ->
Embora o código possa parecer um pouco curto, o que fazemos é criar um objeto a partir do arquivo carregado e podemos fazer um loop com um para cada cada um de seus nós e assim acessar o conteúdo de sua etiqueta de forma simples. Com o qual obteríamos o seguinte no navegador:
Com isso concluímos este tutorial, criamos com sucesso um arquivo XML e aprendemos duas maneiras diferentes de poder ler esses arquivos, é importante praticar com arquivos mais complexos para que estejamos prontos e capazes de aplicar nosso conhecimento em um aplicativo da vida real.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo