12. Processamento de documentos XML (simplexml_01)
Consideremos o seguinte ficheiro [data.xml]:
<?xml version="1.0" encoding="UTF-8"?>
<tribu>
<enseignant>
<personne sexe="M">
<nom>dupont</nom>
<prenom>jean</prenom>
<age>28</age>
ceci est un commentaire
</personne>
<section>27</section>
</enseignant>
<etudiant>
<personne sexe="F">
<nom>martin</nom>
<prenom>charline</prenom>
<age>22</age>
</personne>
<formation>dess IAIE</formation>
</etudiant>
</tribu>
Analisamos este documento com o seguinte script:
<?php
// ficheiro XML a processar
$FILE_NAME = "data.xml";
// processamento
$xml = simplexml_load_file($FILE_NAME);
print_r($xml);
print_r($xml->enseignant->personne['sexe']);
$nom=$xml->enseignant->personne->nom;
print "nom=$nom\n";
$sexe=$xml->enseignant->personne['sexe'];
print "sexe=$sexe\n";
$formation=$xml->etudiant->formation;
print "formation=$formation\n";
print "isset=".isset($xml->enseignant->personne->nom)."\n";
print "isset=".isset($xml->enseignant->personne->xx)."\n";
Utilizamos aqui um módulo PHP denominado [simpleXML], que permite processar documentos XML.
- linha 6: carregamento do ficheiro XML
- linha 7: exibição do documento XML
- linha 8: exibição do valor do atributo «sexe» de um professor: <professor><pessoa sexo='...'>
- linha 9: exibição do valor da primeira baliza <enseignant><personne><nom>
Resultados
- linhas 1-37: o documento XML na forma de um objeto do tipo [simpleXML].
O script anterior não nos mostra todas as possibilidades do módulo [simpleXML], mas é suficiente para escrevermos uma última versão do exercício IMPOTS.