Compartilhar via


Como carregar XML a partir de um arquivo, cadeia de caracteres ou fluxo (Visual Basic)

Você pode criar Literais XML e preenchê-los com o conteúdo de uma fonte externa, como um arquivo, uma cadeia de caracteres ou um fluxo, usando vários métodos. Esses métodos são mostrados no exemplo a seguir.

Observação

Seu computador pode mostrar diferentes nomes ou locais para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Personalizando o IDE.

Para carregar o XML de um arquivo

Para preencher um literal XML, como objeto XElement ou XDocument com base em um arquivo, use o método Load. Esse método pode usar como entrada um caminho de arquivo, um fluxo de texto ou XML.

O exemplo de código a seguir mostra o uso do método Load(String) para preencher um objeto XDocument com XML de um arquivo de texto.

Dim books = 
    XDocument.Load(My.Application.Info.DirectoryPath & 
                   "\..\..\Data\books.xml")
Console.WriteLine(books)

Para carregar XML de um arquivo

Para preencher um literal XML, como objeto XElement ou XDocument com base em uma cadeia de caracteres, use o método Parse.

O exemplo de código a seguir mostra o uso do método XDocument.Parse(String) para preencher um objeto XDocument com XML de uma cadeia de caracteres.

Dim xmlString = "<Book id=""bk102"">" & vbCrLf & 
                "  <Author>Garcia, Debra</Author>" & vbCrLf & 
                "  <Title>Writing Code</Title>" & vbCrLf & 
                "  <Price>5.95</Price>" & vbCrLf & 
                "</Book>"
Dim xmlElem = XElement.Parse(xmlString)
Console.WriteLine(xmlElem)

Para carregar XML de uma cadeia de caracteres

Para preencher um literal XML, como objeto XElement ou XDocument com base em um fluxo, use o método Load ou XNode.ReadFrom.

O exemplo de código a seguir mostra o uso do método ReadFrom para preencher um objeto XDocument com XML de um fluxo XML.

Dim reader = 
  System.Xml.XmlReader.Create(My.Application.Info.DirectoryPath & 
                              "\..\..\Data\books.xml")
reader.MoveToContent()
Dim inputXml = XDocument.ReadFrom(reader)
Console.WriteLine(inputXml)

Confira também