Como mesclar dados de dois documentos XML usando System. XML usando o Visual C# .net

Traduções deste artigo Traduções deste artigo
ID do artigo: 311530 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo passo a passo mostra como usar um objeto DataSet para mesclar dois documentos XML. O DataSet objeto é a central de suporte desconectado, distribuído cenários de dados com ADO.NET. O DataSet é uma representação residente na memória dos dados que fornece um modelo de programação consistente, relacional, independentemente da origem de dados. O DataSet representa um conjunto completo de dados, incluindo tabelas relacionadas, restrições e relacionamentos entre tabelas.

Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft Windows XP, Windows 2000 ou Windows NT 4.0 Service Pack 6a (SP6a)
  • Visual Studio Microsoft .net
Este artigo presume que você esteja familiarizado com os seguintes tópicos:
  • Sintaxe do Visual C# .net
  • Linguagem de marcação extensível (XML)

Criar o arquivo Books1.xml

  1. No menu Iniciar do Windows, clique em Executar, tipo Notepad. exee clique em OK.
  2. Realce o código a seguir, o código com o botão direito e clique em Copiar. No bloco de notas, no menu Editar , clique em Colar.
    <?xml version="1.0"?>
    <catalog>
       <book id="bk101">
          <author>Gambardella, Matthew</author>
          <title>XML Developer's Guide</title>
          <genre>Computer</genre>
          <price>44.95</price>
       </book>
       <book id="bk102">
          <author>Jeanette, Dasha</author>
          <title>Quack the Duck</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
       </book>
    </catalog>
    					
  3. No menu arquivo , clique em Salvar.
  4. Na caixa de diálogo Salvar como , na caixa de lista suspensa Salvar como tipo , clique em Todos os arquivos. Na caixa de texto Nome do arquivo , digite Books1.XMLe clique em Salvar.

Criar o arquivo Books2.xml

  1. No bloco de notas, crie um novo arquivo de texto chamado Books2.xml.
  2. Copie e cole o seguinte XML no Books2.xml:
    <?xml version="1.0"?>
    <catalog>
    <book id="bk106">
          <author>Randall, Cynthia</author>
          <title>Lover Birds</title>
          <genre>Romance</genre>
          <price>4.95</price>
       </book>
       <book id="bk107">
          <author>Vinzovskaia, Irina</author>
          <title>Piano Fort A</title>
          <genre>Romance</genre>
          <price>4.95</price>
       </book>
    </catalog>
    					
  3. No menu arquivo , clique em Salvar.
  4. Na caixa de diálogo Salvar como , na caixa de lista suspensa Salvar como tipo , clique em Todos os arquivos. Na caixa de texto Nome do arquivo , digite Books2.XMLe clique em Salvar.

Etapas para criar o aplicativo de .net C# Visual

  1. Iniciar Visual Studio .net e crie um novo projeto de aplicativo de Console do Visual C#.
  2. Adicione o seguinte código na parte superior da janela de código:
    using System;
    using System.Xml;
    using System.IO;
    using System.Data ;
    					
  3. Copie e cole o seguinte código em static void Main (string [] args):
    try
    	{
    		XmlTextReader xmlreader1 = new XmlTextReader("C:\\Books1.xml");
    		XmlTextReader xmlreader2 = new XmlTextReader("C:\\Books2.xml");
    
    		DataSet ds = new DataSet();
    		ds.ReadXml(xmlreader1);
    		DataSet ds2 = new DataSet();
    		ds2.ReadXml(xmlreader2);
    		ds.Merge(ds2);
    		ds.WriteXml("C:\\Books.xml");
    		Console.WriteLine("Completed merging XML documents");
    	}
    	catch (System.Exception ex)
    	{
    		Console.Write(ex.Message);
    	}
    Console.Read();	
    					
  4. Criar e executar o aplicativo. Observe que a mensagem "Concluído mesclando documentos XML" aparece na janela do Console.
  5. Feche a janela do Console. Observe que o arquivo Books. XML é criado no caminho que você especificar.
  6. Abra o Books. XML. Observe que os dados de Books2.xml são acrescentados ao final para Books1.xml.

Cenários diferentes de documento XML

Mesclar documentos XML que têm a mesma estrutura

Exemplo de Visual C# .net anterior demonstra a saída de documentos XML com a mesma estrutura.

Mesclar documentos XML que têm diferentes estruturas

  1. Abra Books2.xml e substitua o XML com o XML a seguir:
    <?xml version="1.0" ?>
    <SampleData>
    <Customer>
              <CustomerName>Bob Frapples</CustomerName>
              <PricePerUnit>5.95</PricePerUnit>
              <ClosingDate>2001-12-16</ClosingDate>
    </Customer>
    <Customer>
              <CustomerName>Bob Frapples</CustomerName>
              <PricePerUnit>5.95</PricePerUnit>
              <ClosingDate>2001-12-16</ClosingDate>
    </Customer>
    </SampleData>
    					
  2. Salve Books2.xml.
  3. Execute novamente o projeto Visual C# .net. Observe que os nós do segundo documento (Books2.xml) são acrescentados ao primeiro documento XML (Books1.xml).

Mesclar documentos XML com estrutura semelhante onde o segundo documento contém elementos adicionais

  1. Abra Books2.xml e substitua o XML com o XML a seguir:
    <?xml version="1.0"?>
    <catalog>
    <book id="bk106">
          <author>Randall, Cynthia</author>
          <title>Lover Birds</title>
          <genre>Romance</genre>
          <price>4.95</price>
          <publish_date>2000-09-02</publish_date>
          <description>When Carla meets Paul at an ornithology 
          conference, tempers fly as feathers get ruffled.</description>
       </book>
       <book id="bk107">
          <author>Vinzovskaia, Irina</author>
          <title>Piano Fort A</title>
          <genre>Romance</genre>
          <price>4.95</price>
          <publish_date>2000-11-02</publish_date>
          <description>Two young pianists strike a chord when they fight a 
          pitched battle to stop the gnomes at a key base.</description>
       </book>
    </catalog>
    					
  2. Salve Books2.xml.
  3. Execute novamente o projeto Visual C# .net. Observe que os nós do segundo documento são acrescentados ao primeiro documento XML.

Mesclar documentos XML com estrutura semelhante onde o segundo documento contém atributos

  1. Abra Books2.xml e substitua o XML com o XML a seguir:
    <?xml version="1.0"?>
    <catalog>
    <book id="bk106" genre="Romance">
          <author>Randall, Cynthia</author>
          <title>Lover Birds</title>
          <price>4.95</price>
       </book>
       <book id="bk107" genre="Romance">
          <author>Vinzovskaia, Irina</author>
          <title>Piano Fort A</title>
          <price>4.95</price>
       </book>
       <book id="bk108" genre="Horror">
          <author>de Dogg, Jazz</author>
          <title>Night of the Flea</title>
          <price>4.95</price>
       </book>
       </catalog>
    					
  2. Salve Books2.xml.
  3. Execute novamente o projeto Visual C# .net. Observe que os nós do segundo documento são acrescentados ao primeiro documento XML e a estrutura é igual ao primeiro documento XML.

Mesclar documentos XML com estrutura semelhante onde o primeiro documento contém atributos

  1. Modificar o código do Visual C# da seguinte maneira para que Books1.xml é acrescentado ao Books2.xml:
    try
    	{
    		XmlTextReader xmlreader1 = new XmlTextReader("C:\\Books2.xml");
    		XmlTextReader xmlreader2 = new XmlTextReader("C:\\Books1.xml");
    
    		DataSet ds = new DataSet();
    		ds.ReadXml(xmlreader1);
    		DataSet ds2 = new DataSet();
    		ds2.ReadXml(xmlreader2);
    		ds.Merge(ds2);
    		ds.WriteXml("C:\\Books.xml");
    		Console.WriteLine("Completed merging XML documents");
    	}
    	catch (System.Exception ex)
    	{
    		Console.Write(ex.Message);
    	}
    Console.Read();	
    					
  2. Execute novamente o projeto Visual C# .net. Observe que o documento XML resultante acrescenta os nós de Books1.xml para Books2.xml. Além disso, observe que todos os nós do livro contém o atributo "gênero".

    Portanto, dependendo da estrutura do documento XML primeiro, segundo documento XML é modificado para que o XML resultante é mais significativo.

Referências

Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
286817 Como mesclar dados de dois documentos XML Document Object Model (DOM) de programação

Propriedades

ID do artigo: 311530 - Última revisão: quinta-feira, 30 de agosto de 2012 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
Palavras-chave: 
kbhowtomaster kbio kbsystemdata kbmt KB311530 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 311530

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com