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

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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

311530
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
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.

back to the top

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)
back to the top

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.
back to the top

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.
back to the top

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.
back to the top

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.

back to the top

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).
back to the top

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.
back to the top

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.
back to the top

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.
back to the top
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
back to the top

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 311530 - Última Revisão: 12/07/2015 08:06:26 - Revisão: 1.0

  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
  • kbnosurvey kbarchive kbhowtomaster kbio kbsystemdata kbmt KB311530 KbMtpt
Esta informação foi útil?