A busca de informações será feita por cpf, no arquivo xml. Isso teria q ser feito usando apenas php e xml, sem utilizar um b.d.
Por conta da estrutura do xml, só estou conseguindo exibir as informações do nó dados-pessoais.
Minha dúvida: Mantendo a estrutura atual do arquivo xml, tenho como trazer todas as informações do nó servidor, fazendo a busca por cpf?
Segue abaixo o trecho do código do arquivo php e do xml:
PHP:
$xml = simplexml_load_file("xml.XML");
$parametro = "11111111111"; /nesta variável será armazenado o CPF do funcionário p/ q seja realizada a busca
foreach($xml->xpath('//Funcionarios/Servidor/Dados-Pessoais') as $dpessoais) // aqui, ao informar apenas "Funcionarios/Servidor/" me retorna um erro
{
$registro = simplexml_load_string($dpessoais->asXML());
$busca = $registro->xpath('//CNPF[. ="'.$parametro.'"]');
if($busca){
echo $dpessoais->NOME . "<br>";
echo $dpessoais->RG . "<br>";
echo $dpessoais->CNPF . "<br><br>";
}
}
XML:
<?xml version="1.0" ?>
<Contra-Cheque>
<Funcionarios>
<Servidor>
<Dados-Pessoais>
<NOME>xxxxxxxxx</NOME>
<CNPF>11111111111</CNPF>
<RG>00000000</RG>
</Dados-Pessoais>
<Remuneracoes>
<Eventos>
<CODIGO>1</CODIGO>
<NOME>SALARIO BASE</NOME>
<REFERENCIA>30</REFERENCIA>
<VALOR>800</VALOR>
</Eventos>
<Eventos>
<CODIGO>998</CODIGO>
<NOME>PREVIDENCIA SOCIAL</NOME>
<REFERENCIA>11</REFERENCIA>
<VALOR>405,86</VALOR>
</Eventos>
</Remuneracoes>
<Rodape>
<VLR_VENCIMENTO>8300</VLR_VENCIMENTO>
<VLR_DESCONTO>1718,21</VLR_DESCONTO>
<SALARIO_BASE>8300</SALARIO_BASE>
<INSS>3689,66</INSS>
<BASE_IR>7291,38</BASE_IR>
<QTD_IR>4</QTD_IR>
<ALIQUOTA_IR>27,5</ALIQUOTA_IR>
</Rodape>
</Servidor>
</Funcionarios>
</Contra-Cheque>
Edição feita por: icarorfm, 04/05/2011, 09:32.