

Em muitos momentos no desenvolvimento de um sistema necessitamos trocar informações com outros sistemas (integração entre sistemas). Existem várias formas de conseguirmos essa troca de dados, sendo uma delas a troca de arquivos XML. Nesse post pretendo mostrar uma forma simples de transformar os dados do banco de dados (MySql) em arquivos xml.
Vamos supor uma estrutura de banco de dados assim:
--Criamos a base de dados (schema)
CREATE DATABASE IF NOT EXISTS mysql_xml;
--Selecionamos a base para usar
USE mysql_xml;
--Criamos a tabela, nesse exemplo para guardar dados de usuários
CREATE TABLE 'mysql_xml'.'usuarios' (
'idUsuario' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
'login' VARCHAR(45) NOT NULL,
'senha' VARCHAR(45) NOT NULL,
PRIMARY KEY ('idUsuario')
)ENGINE = InnoDB;
--Inserimos alguns dados na tabela
INSERT INTO usuarios VALUES ('', 'usuario1','senha1');
INSERT INTO usuarios VALUES ('', 'usuario2','senha2');
INSERT INTO usuarios VALUES ('', 'usuario3','senha3');
INSERT INTO usuarios VALUES ('', 'usuario4','senha4');
INSERT INTO usuarios VALUES ('', 'usuario5','senha5');
Com o banco/tabela populado podemos ir para o nosso script PHP.
Abaixo vou demonstrar como o php pode pegar esses dados e utilizando a lib SimpleXML do php, podemos transformar os dados em um arquivo xml.
//mysql_xml.php
// criamos a conexao com o banco de dados no nosso caso, MySql
$conn = mysqli_connect("localhost", "root", "","mysql_xml");
//exacutamos nosso comando sql
$sql = "select * from usuarios"; // query (comando sql)
$result = mysqli_query($conn, $sql);
// criamos um objeto do tipo SimpleXMLElement
$xml = new SimpleXMLElement("<resultset/>");
// criamos um loop para recuperar todos os dados da tabela usuarios
// os dados sao retornados como um objeto
while ($dados = mysqli_fetch_object($result))
{
// criamos um um novo node para abrigar as linhas
$line = $xml->addChild("line");
//No proximo loop adicionamos os nodes para cada um dos registros de cada linha
foreach ( $dados as $colName => $value )
$line->addChild($colName, $value);
}
// finalmente criamos o xml com todos os dados que estavam na tabela.
echo $xml->asXML();
Executando o arquivo acima temos o seguinte resultado.
1 usuario1 senha1 2 usuario2 senha2 3 usuario3 senha3 4 usuario4 senha4 5 usuario5 senha5
E é isso galera, simples assim, esses scripts foram baseados em um tutorial que li há algum tempo atrás, desde então venho utilizando essa maneira de gerar xml para exportação, integração, etc, em meus sistemas. Infelizmente não lembro e não encontrei a referência para o artigo que li, caso alguem ache ele, por favor me informe que atualizo aqui.
Posts relacionados:






More Options ...
Categorias
Nuvem de Tags
Blog RSS
Comentários RSS

Void « Default
Life
Earth
Wind
Water
Fire
Light 
gostei muito do post uma que é minha area tambem confira meu blog faca sua critica desde ja agradeço essa materia formidavel