COMO: BETA: mesclar dados de dois documentos XML usando o System.XML com o Visual Basic .NET

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

Neste artigo

Sumário

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

Requisitos

A lista a seguir 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)
  • Microsoft Visual Studio .NET
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Sintaxe do Visual Basic .NET
  • Linguagem de marcação extensível (XML)

Criar o arquivo Books1.xml

  1. A partir do menu Iniciar , clique em Executar , digite Notepad.exe e, em seguida, clique em OK .
  2. Realce o código a seguir, clique o código com o botão direito do mouse e, em seguida, 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>Ralls, Kim</author>
          <title>Midnight Rain</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 listagem drop-down Salvar como tipo , clique em Todos os arquivos . Na caixa de texto Nome do arquivo , digite Books1.xml e em seguida, 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>Thurman, Paula</author>
          <title>Splish Splash</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 listagem drop-down Salvar como tipo , clique em Todos os arquivos . Na caixa de texto Nome do arquivo , digite Books2.xml e em seguida, clique em Salvar .

Passos para criar o aplicativo .NET Visual Basic

  1. Inicie o Visual Studio.NET e crie um novo projeto Visual Basic Console Application.
  2. Adicione o código a seguir na parte superior da janela código:
    Imports System.Xml
    					
  3. Copie e cole o seguinte código no procedimento Sub Main :
            Dim xmlreader1 As New XmlTextReader("C:\Books1.xml")
    
            Dim xmlreader2 As New XmlTextReader("C:\Books2.xml")
    
            Dim ds1 As New DataSet()
            Try
                ds1.ReadXml(xmlreader1)
    
                Dim ds2 As New DataSet()
                ds2.ReadXml(xmlreader2)
    
                ds1.Merge(ds2)
                ds1.WriteXml("C:\Books.xml", XmlWriteMode.IgnoreSchema)
                Console.WriteLine("Completed merging XML documents")
            Catch ex As Exception
                Console.WriteLine(ex.Message)
            End Try
            Console.Read()
    					
  4. Criar e executar o aplicativo. Observe que a mensagem "Concluída a mesclagem de documentos XML" é exibida na janela do console.
  5. Feche a janela Console. Observe que o arquivo Books.XML é criado no caminho especificado.
  6. Abra Books.XML. Observe que os dados de Books2.xml são acrescentados ao final para Books1.xml.

Diferentes cenários de documento XML

Mesclar documentos XML que têm a mesma estrutura

O exemplo Visual Basic .NET anterior demonstra a saída de documentos XML com a mesma estrutura.

Mesclar documentos XML que possuem diferentes estruturas

  1. Abra Books2.xml e substitua o XML com o seguinte XML:
    <?xml version="1.0" ?>
    <SampleData>
    <Customer>
              <CustomerName>Bill Gates</CustomerName>
              <PricePerUnit>5.95</PricePerUnit>
              <ClosingDate>2001-12-16</ClosingDate>
    </Customer>
    <Customer>
              <CustomerName>Bill Gates</CustomerName>
              <PricePerUnit>5.95</PricePerUnit>
              <ClosingDate>2001-12-16</ClosingDate>
    </Customer>
    </SampleData>
    					
  2. Salve Books2.xml.
  3. Execute novamente o projeto Visual Basic.NET. Observe que os nós de segundo documento (Books2.xml) são acrescentados ao documento XML (Books1.xml) primeiro.

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

  1. Abra Books2.xml e substitua o XML com o seguinte XML:
    <?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>Thurman, Paula</author>
          <title>Splish Splash</title>
          <genre>Romance</genre>
          <price>4.95</price>
          <publish_date>2000-11-02</publish_date>
          <description>A deep-sea diver finds true love twenty 
          thousand leagues beneath the sea.</description>
       </book>
    </catalog>
    					
  2. Salve Books2.xml.
  3. Execute novamente o projeto Visual Basic.NET. Observe que os nós de segundo documento estão anexados ao documento XML primeiro.

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

  1. Abra Books2.xml e substitua o XML com o seguinte XML:
    <?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>Thurman, Paula</author>
          <title>Splish Splash</title>
          <price>4.95</price>
       </book>
       <book id="bk108" genre="Horror">
          <author>Knorr, Stefan</author>
          <title>Creepy Crawlies</title>
          <price>4.95</price>
       </book>
       </catalog>
    					
  2. Salve Books2.xml.
  3. Execute novamente o projeto Visual Basic.NET. Observe que os nós de 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 Basic da seguinte maneira para que Books1.xml é acrescentado ao Books2.xml:
            Dim xmlreader1 As New XmlTextReader("C:\Books2.xml")
    
            Dim xmlreader2 As New XmlTextReader("C:\Books1.xml")
    
            Dim ds1 As New DataSet()
            Try
                ds1.ReadXml(xmlreader1)
    
                Dim ds2 As New DataSet()
                ds2.ReadXml(xmlreader2)
    
                ds1.Merge(ds2)
                ds1.WriteXml("C:\Books.xml", XmlWriteMode.IgnoreSchema)
                Console.WriteLine("Completed merging XML documents")
            Catch ex As Exception
                Console.WriteLine(ex.Message)
            End Try
            Console.Read()
    					
  2. Execute novamente o projeto Visual Basic.NET. Observe que o documento XML resultante acrescenta os nós de Books1.xml Books2.xml. Além disso, observe que todos os nós catálogo 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:
286817COMO: Mesclar dados em dois documentos XML por programação o modelo de objeto documento (DOM)

Propriedades

ID do artigo: 308066 - Última revisão: quinta-feira, 4 de setembro de 2003 - Revisão: 2.3
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
Palavras-chave: 
kbmt kbhowtomaster KB308066 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: 308066

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