Como carregar e salvar o XML usando o DOM no .NET Framework com Visual Basic .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 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: 317661
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 317662.

Este artigo se refere aos seguintes namespaces Microsoft .NET Framework Class Library:
  • System.XML
  • System.IO
  • System.Text

NESTA TAREFA

Sumário
Use este guia passo a passo para aprender a carregar e salvar documentos XML (Extensible Markup Language) usando a classe System.XML.XmlDocument programaticamente. Essa classe é compatível com o DOM (Document Object Model) do World Wide Web Consortium nível 1 e nível 2 principais padrões. Além disso, System.XML.XmlDocument implementa o analisador de DOM principal no Microsoft .NET Framework.

XmlDocument é derivada da classe System.Xml.XmlNode , portanto, ela herda diversas propriedades e métodos da classe XmlNode .

back to the top

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft Windows XP, Microsoft Windows 2000 ou Microsoft Windows NT 4.0 com Service Pack 6a
  • Microsoft Data Access Components (MDAC) 2.6 ou posterior
  • Microsoft Visual Studio .NET
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Sintaxe do Visual Basic .NET
  • XML e os padrões relacionados
back to the top

Como carregar documentos XML

Os métodos Load e LoadXml da classe XmlDocument carregar dados XML. O método Load está sobrecarregado e fornece maneiras de carregar documentos XML de recursos diferentes, como uma URL ou um fluxo . Para obter mais informações sobre os métodos sobrecarregados, consulte a documentação do Software Development Kit (SDK) do Microsoft .NET Framework.

Você também pode usar o método LoadXml para carregar as seqüências de XML e fragmentos. O método Load preserva espaços em branco por padrão e o método LoadXml não. Se você usar um desses métodos, você pode usar a propriedade Boolean PreserveWhitespace para controlar como o espaço em branco é manipulado.

No Microsoft .NET Framework, validação de XML documentos contra um DTD (Document Type Definition), um XML Data-Reduced (XDR) ou um esquema XSD (XML Schema Definition Language) é feita através da classe System.XML.XmlValidatingReader . Se a validação é necessária, os dados é carregados no DOM, uma classe XmlValidatingReader é construída e passada para o método Load .

O código de exemplo a seguir mostra como usar esses métodos para carregar dados XML de recursos diferentes:
  1. No bloco de notas ou outro editor de texto, digite ou cole as informações a seguir e, em seguida, salve o arquivo como Q317661.xml:
    <?xml version='1.0' encoding='ISO-8859-1'?><Collection>   <Book>      <Title>Principle of Relativity</Title>      <Author>Albert Einstein</Author>      <Genre>Physics</Genre>   </Book>   <Book>      <Title>Cosmos</Title>      <Author>Carl Sagan</Author>      <Genre>Cosmology</Genre>   </Book></Collection>					
  2. Crie um novo projeto de aplicativo Visual Basic.NET Console.
  3. Substitua o código no arquivo Module1.vb com o código a seguir. Esse exemplo mostra como ler dados XML a partir de um arquivo, uma URL, um fluxo e um XmlTextReader .
    Imports System.XmlImports System.IOModule Module1   Sub Main()      Try         ' Create an XML document instance.         ' The same instance of DOM is used through out this code; this          ' may or may not be the actual case.         Dim doc As XmlDocument = New XmlDocument()         ' Load the XML data from a file.         ' This code assumes that the XML file is in the same folder.         doc.Load("Q317661.xml")               ' Load the XML data from a file stream.         ' You can use other I/O streams in the same way with the Load          ' method.         Dim fileStrm As FileStream = New IO.FileStream("Q317661.xml", FileMode.Open)         ' New content replaces older content because the same DOM is          ' used.         doc.Load(fileStrm)                    ' Use DOM to manipulate the XML data here.         ' Close any Streams once they are used.         fileStrm.Close()                      ' Load the XML data from a URL.         ' Make sure that the URL points to a correct XML resource.         doc.Load("http://localhost/xmltest/Q317661.xml")              ' Load the XML data from a reader object.         ' Ignore the white spaces.         doc.PreserveWhitespace = False                 Dim rdr As New XmlTextReader("Q317661.xml")           doc.Load(rdr)         ' Load the XML strings.         doc.LoadXml("<Collection><Book><Title>Principle of Relativity</Title>" & _                     "<Author>Albert Einstein</Author>" & _                     "<Genre>Physics</Genre></Book></Collection>")         ' Display the content of the DOM document.         Console.Write("{0}", vbNewLine & doc.OuterXml & vbNewLine)      ' Handle the XML exceptions here.      Catch xmlex As XmlException                           Console.WriteLine("{0}", xmlex.Message)      ' Handle the generic exceptions here.      Catch ex As Exception                                 Console.WriteLine("{0}", ex.Message)      Finally         ' Add code here to finalize.      End Try   End SubEnd Module					
  4. Leia os comentários in-line para entender a funcionalidade do código. Certifique-se de que os arquivos de recurso XML apontam para a pasta correta, URL e assim por diante.
  5. Compilar e executar o aplicativo.

    Observe que o arquivo Q317661.xml deve estar na mesma pasta que o arquivo executável. ou você deve modificar o caminho do arquivo no código.

    A saída será similar à seguinte:
    <Collection><Book><Title>Principle of Relativity</Title><Author>Albert Einstein</ Author><Genre>Physics</Genre></Book></Collection>					
back to the top

Como salvar documentos XML

O método Save do XmlDocument salva dados XML. O método Save está sobrecarregado e salva documentos XML em um arquivo, um fluxo ou objetos de gravador. Para obter informações adicionais sobre sobrecargas, consulte a documentação do SDK do Microsoft .NET Framework.

Espaço em branco é preservado somente se você definir a propriedade Boolean PreserveWhitespace como true . Além disso, você pode usar WriteContentTo e os métodos WriteTo para gravar os dados XML XmlWriter . Sua funcionalidade é equivalente a propriedades InnerXml e OuterXml .
  1. Crie um novo projeto de aplicativo Visual Basic.NET Console.
  2. Substitua o código no arquivo Module1.vb com o seguinte. Este exemplo mostra como salvar dados XML em um arquivo, um fluxo e XmlTextWriter .
    Imports System.XmlImports System.IOImports System.TextModule Module1   Sub Main()      Try         ' Create an XML document instance and load the XML data.         Dim doc As XmlDocument = New XmlDocument()         ' This code assumes that the XML file is in the same folder.         doc.Load("Q317661.xml")                               ' Save the XML to a file.         doc.Save("Q317661_File.xml")         ' Save the XML to a memory stream.         Dim memStream As New MemoryStream()         Dim AE As New ASCIIEncoding()         Dim xmlStr As String = doc.DocumentElement.OuterXml         memStream.Write(AE.GetBytes(xmlStr), 0, xmlStr.Length)         ' Use the data from the stream here.         memStream.Close()         ' Save the XML to an XmlWriter with Unicode encoding.         ' Preserve the white space.         doc.PreserveWhitespace = True                            Dim wrtr As New XmlTextWriter("Q317661_Writer.xml", Encoding.Unicode)         wrtr.WriteRaw(xmlStr)         wrtr.Close()      ' Handle the XML exceptions here.      Catch xmlex As XmlException                           Console.WriteLine("{0}", xmlex.Message)      ' Handle the generic exceptions here.      Catch ex As Exception                                 Console.WriteLine("{0}", ex.Message)      Finally         ' Add code here to finalize.      End Try   End SubEnd Module					
  3. Leia os comentários in-line para entender a funcionalidade do código. Verifique se o arquivo Q317661.xml está na mesma pasta que o arquivo executável. Compilar e executar o aplicativo.
  4. Examine os arquivos de saída (Q317661_File.xml e Q317661_Writer.xml) que são criados na mesma pasta que o arquivo executável. Deve conter os mesmos dados, exceto que os dados no segundo arquivo no formato de codificação Unicode.
back to the top
Referências
Para informações adicionais, visite os seguintes sites: Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
313824INFO: Guia de programação XML com o analisador de modelo DOM no .NET Framework
313651INFO: Guia para XML no .NET Framework
back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 317661 - Última Revisão: 12/07/2015 08:55:34 - Revisão: 3.2

Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.1

  • kbnosurvey kbarchive kbmt kbbcl kbhowtomaster KB317661 KbMtpt
Comentários