DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 308066 - Última revisão: quinta-feira, 4 de Setembro de 2003 - Revisão: 2.3

 

Nesta página

Sumário

Este artigo demonstra como utilizar um objecto de DataSet para intercalar dois documentos XML. DataSet objecto é fundamental para suporte desligado, distribuído cenários de dados com o ADO.NET. O DataSet é uma representação residente em memória dos dados que fornece um modelo consistente e relacional programação independentemente da origem de dados. O DataSet representa um conjunto completo de dados, incluindo tabelas relacionadas, constrangimentos e relações entre tabelas.

Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que necessita:
  • Microsoft Windows XP, Windows 2000 ou Windows NT 4.0 Service Pack 6a (SP6a)
  • Microsoft Visual Studio .NET
Este artigo pressupõe que está familiarizado com os seguintes tópicos:
  • Sintaxe do Visual Basic .NET
  • Extensible Markup Language (XML)

Criar o ficheiro Books1.xml

  1. No menu Iniciar do Windows, clique em Executar , escreva Notepad.exe e clique em OK .
  2. Realce o código seguinte, clique com o botão direito do rato no código 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 ficheiro , clique em Guardar .
  4. Na caixa de diálogo Guardar como , na caixa de lista pendente Guardar com o tipo , clique em Todos os ficheiros . Na caixa de texto Nome do ficheiro , escreva Books1.xml e, em seguida, clique em Guardar .

Criar o ficheiro Books2.xml

  1. No bloco de notas, crie um novo ficheiro de texto chamado Books2.xml.
  2. Copie e cole o seguinte XML para 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 ficheiro , clique em Guardar .
  4. Na caixa de diálogo Guardar como , na caixa de lista pendente Guardar com o tipo , clique em Todos os ficheiros . Na caixa de texto Nome do ficheiro , escreva Books2.xml e, em seguida, clique em Guardar .

Passos para criar a aplicação do Visual Basic .NET

  1. Inicie o Visual Studio .NET e crie um novo projecto de aplicação de consola do Visual Basic.
  2. Adicione o seguinte código no início da janela Code:
    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 a aplicação. Repare que a mensagem "Concluir a intercalação de documentos XML" é apresentada na janela da consola.
  5. Feche a janela da consola. Repare que o ficheiro Books.XML é criado no caminho especificado.
  6. Abra Books.XML. Repare que os dados da Books2.xml são anexados ao fim para Books1.xml.

Diferentes cenários de documento XML

Intercalar documentos XML que têm a mesma estrutura

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

Intercalar documentos XML com diferentes estruturas

  1. Abrir Books2.xml e substitua o XML com o XML seguinte:
    <?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. Guarde Books2.xml.
  3. Execute novamente o projecto de Visual Basic. NET. Repare que os nós do segundo documento (Books2.xml) são acrescentados para o primeiro documento XML (Books1.xml).

Intercalar documentos XML com estrutura semelhante em que o segundo documento contém elementos adicionais

  1. Abrir Books2.xml e substitua o XML com o XML seguinte:
    <?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. Guarde Books2.xml.
  3. Execute novamente o projecto de Visual Basic. NET. Repare que os nós do segundo documento são acrescentados para o primeiro documento XML.

Intercalar documentos XML com estrutura semelhante em que o segundo documento contém atributos

  1. Abrir Books2.xml e substitua o XML com o XML seguinte:
    <?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. Guarde Books2.xml.
  3. Execute novamente o projecto de Visual Basic. NET. Repare que os nós do segundo documento são acrescentados para o primeiro documento XML e a estrutura é mesma que o primeiro documento XML.

Intercalar documentos XML com estrutura semelhante em que o primeiro documento contém atributos

  1. Modifique o código do Visual Basic da seguinte forma para que Books1.xml é anexado 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 projecto de Visual Basic. NET. Repare que o documento XML resultante acrescenta os nós de Books1.xml Books2.xml. Para além disso, repare que todos os nós livro contém o atributo "género".

    Por este motivo, dependendo da estrutura do documento XML primeiro, o segundo documento XML é modificado para que o XML resultante mais significado.

Referências

Para obter informações adicionais, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
286817  (http://support.microsoft.com/kb/286817/EN-US/ ) COMO: Intercalar dados em dois documentos XML, o modelo de objecto do documento (DOM) de programação

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áticaTraduçã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 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.
Clique aqui para ver a versão em Inglês deste artigo: 308066  (http://support.microsoft.com/kb/308066/en-us/ )
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft