XML e Dataset (Merge)

Veja neste artigo um pouco sobre Dataset com xml, e saiba como unir dois arquivos xml.

XML e Dataset (Merge)


Ola Pessoal, hoje irei falar um pouco sobre Dataset com xml, veremos como fundir dois arquivos xml e fazer isso virar um arquivo só.

 

Mãos a massa.

 

Nosso exemplo é simples, porém bastante funcional, espero que assim possam abrir novas idéias pra vocês.

 

Começaremos criando dois arquivos xml, o primeiro com o nome Clientes.xml,e o segundo com o nome Produtos.xml, eis a estrutura abaixo.

 

Clientes.xml

<?xml version="1.0" ?>

<Principal>

<Clientes>

<Nome>Maria da Silva</Nome>

<Sexo>Feminino</Sexo>

<DataCadastro>23/02/2007</DataCadastro>

</Clientes>

<Clientes>

<Nome>Marcio de  Oliveira</Nome>

<Sexo>Masculino</Sexo>

<DataCadastro>22/02/2007</DataCadastro>

</Clientes>

</Principal>

Produtos.xml

<?xml version="1.0"?>

<Produtos>

   <Tipo id="10">

<Nome>Shampoo</Nome>

<Preco>R$ 10,00</Preco>

   </Tipo>

   <Tipo id="20">

<Nome>Shampoo</Nome>

<Preco>R$ 10,00</Preco>

   </Tipo>

</Produtos>

Iremos criar um projeto do tipo Web com C#, dê o nome que quiser.

 

Adicione um Botão.

 

ID: btnGerar

Text: Gerar Xml

 
 

Figura 01..

 

Na codificação do botão iremos adicionar o seguinte código.

 

Não esqueça de importar o Namespace System.Xml;

 

protected void btnGerar_Click(object sender, EventArgs e)

{

//Criando as variaveis de leitura de arquivo xml 

XmlTextReader xml1 = new XmlTextReader("e:\\Clientes.xml");

XmlTextReader xml2 = new XmlTextReader("e:\\Produtos.xml");

//Criando os DataSets para posteriormente ler o arquivo xml

DataSet ds1 = new DataSet();

DataSet ds2 = new DataSet();

try

{

ds1.ReadXml(xml1);

ds2.ReadXml(xml2);

 

// Merge >> Método que permite fundir dois objetos

ds1.Merge(ds2);

//Criando um novo arquivo xml com a estrutura dos 2 arquivos xml

ds1.WriteXml("e:\\Resultado.xml", XmlWriteMode.IgnoreSchema);

Response.Write("Arquivo criado");

}

catch (Exception ex)

{

Response.Write(ex.ToString());

}

}


Arquivo gerado.


 

Figura 02. Resultado.


Com isso devemos ter nosso xml gerado com o resultado de 2 arquivos xml. Você também pode usar um DataTable para fazer isso, o DataTable agora tem o método Merge, assim não precisando mais usar DataSet.


É isso ai pessoal até mais.

Artigos relacionados