Artigo: 263247 - Última revisão: quinta-feira, 1 de Julho de 2004 - Revisão: 5.4

Como obter um conjunto de registos ADO a partir de XML

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sumário

Se tiver uma cadeia XML ou documento pode utilizá-lo para abrir um conjunto de registos do ActiveX Data Objects (ADO). Pode fazê-lo utilizando o objecto de sequência do Microsoft ADO 2.5 e novas funcionalidades de integração do XML do ADO.

Este artigo descreve o mecanismo necessário para carregar o seguinte para um ADO 2.5 conjunto de registos:
  • Uma cadeia que contém XML.

    - e -

  • Uma instância de documento do DOM XML.
Forneceu que os dados XML estão no formato em que o conjunto de registos ADO pode aceitar.

Mais Informação

Para abrir uma cadeia XML como um conjunto de registos, utilize o código que se segue. Certifique-se que o projecto do Visual Basic tem as referências apropriadas para o Microsoft ActiveX Data Access Components 2.5 Library para que possa ser utilizado ADO como é mostrado.

código de exemplo
Public Function RecordsetFromXMLString(sXML As String) As Recordset

    Dim oStream As ADODB.Stream
    Set oStream = New ADODB.Stream
    
    oStream.Open
    oStream.WriteText sXML   'Give the XML string to the ADO Stream

    oStream.Position = 0    'Set the stream position to the start

    Dim oRecordset As ADODB.Recordset
    Set oRecordset = New ADODB.Recordset
       
    oRecordset.Open oStream    'Open a recordset from the stream

    oStream.Close
    Set oStream = Nothing

    Set RecordsetFromXMLString = oRecordset  'Return the recordset

    Set oRecordset = Nothing

End Function
tenha atenção que o código precedente aceita uma cadeia.


O seguinte código aceita um objecto DOM como origem para o conjunto de registos. Tenha em atenção que o objecto de sequência não é necessário:

Public Function RecordsetFromXMLDocument(XMLDOMDocument As DOMDocument) As Recordset
    Dim oRecordset As ADODB.Recordset
    
    Set oRecordset = New ADODB.Recordset
       
    oRecordset.Open XMLDOMDocument 'pass the DOM Document instance as the Source argument

    Set RecordsetFromXMLDocument = oRecordset  'return the recordset

    Set oRecordset = Nothing

End Function
Depois de abrir o conjunto de registos das seguintes formas, pode utilizar o conjunto de registos como conjunto de quaisquer outro registos desligado.

Tenha em atenção que a posição actual, AbsolutePage e outras propriedades de navegação não são armazenadas no XML do documento; por conseguinte, o conjunto de registos recentemente aberto sempre é posicionado na primeira linha.

Referências

Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
309702  (http://support.microsoft.com/kb/309702/EN-US/ ) Como ler dados XML para um DataSet utilizando o Visual Basic .NET
Para mais informações sobre o ADO, consulte o seguinte Web site:
http://msdn.microsoft.com/en-us/data/aa937729.aspx (http://msdn.microsoft.com/en-us/data/aa937729.aspx)
(c) Microsoft Corporation 2000, todos os direitos reservados. Contribuições de Eduardo a. Jezierski, Microsoft Corporation.


A informação contida neste artigo aplica-se a:
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
  • Microsoft XML Core Services 4.0
  • Microsoft XML Parser 2.5
  • Microsoft XML Parser 2.6
  • Microsoft XML Parser 3.0
Palavras-chave: 
kbmt kbcodesnippet kbhowto KB263247 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: 263247  (http://support.microsoft.com/kb/263247/en-us/ )