Usuário com melhor resposta
LER XML em textbox indexado ao combobox

Pergunta
-
bom,
estou usando a combobox e lendo um arquivo xml
na combobox fica os nomes
quando altero um nome
quero tambem que nas textbox altere os valores respectivos do nome
no exemplo sera o telefone
Imports System.Xml
Public Class Form1
Dim nome As String
Dim telefone As String
Dim doc As New XmlDocument
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
carregaxml()
End Sub
Sub carregaxml()
Try
doc.Load("contatos.xml")
Catch ex As Exception
MsgBox("Erro ao ler arquivo XML.")
Exit Sub
End Try
Dim nodes As XmlNodeList = doc.SelectNodes("Agenda/contato")
For Each element As XmlElement In nodes
nome = element.SelectSingleNode("nome").InnerText
ComboBox1.Items.Add(nome)
telefone = doc.SelectNodes("Agenda/contato").Item(ComboBox1.SelectedIndex).SelectSingleNode("telefone").InnerText
texbox1.text = telegone
Next
ComboBox1.SelectedIndex = 0
End Sub
porem ele me da o erro na linha em negrito
Respostas
-
Bruno, se você colocou a variável doc como Global, o código abaixo vai funcionar.
doc.SelectNodes("Agenda/contato").Item(ComboBox1.SelectedIndex).SelectSingleNode("telefone").InnerText
com o XML nesse formato
<?xml version="1.0"?>
<Agenda>
<contato>
<telefone>123456789</telefone>
<nome>Bruno</nome>
<sobrenome>Maestro</sobrenome>
</contato>
</Agenda>
Bruno Ferreira de Souza
Analista Desenvolvedor .NET
MCP - Windows Form- Marcado como Resposta Bruno Gaiola sexta-feira, 24 de setembro de 2010 00:35
-
Essa linha:
texbox1.text = doc.SelectNodes("Agenda/contato").Item(ComboBox1.SelectedIndex).SelectSingleNode("telefone").InnerText
É no evento do ComboBox1_SelectedIndexChanged, por isso não está danto certo
Bruno Ferreira de Souza
Analista Desenvolvedor .NET
MCP - Windows Form- Marcado como Resposta Bruno Gaiola sexta-feira, 24 de setembro de 2010 00:35
Todas as Respostas
-
Bruno, se você colocou a variável doc como Global, o código abaixo vai funcionar.
doc.SelectNodes("Agenda/contato").Item(ComboBox1.SelectedIndex).SelectSingleNode("telefone").InnerText
com o XML nesse formato
<?xml version="1.0"?>
<Agenda>
<contato>
<telefone>123456789</telefone>
<nome>Bruno</nome>
<sobrenome>Maestro</sobrenome>
</contato>
</Agenda>
Bruno Ferreira de Souza
Analista Desenvolvedor .NET
MCP - Windows Form- Marcado como Resposta Bruno Gaiola sexta-feira, 24 de setembro de 2010 00:35
-
-
Essa linha:
texbox1.text = doc.SelectNodes("Agenda/contato").Item(ComboBox1.SelectedIndex).SelectSingleNode("telefone").InnerText
É no evento do ComboBox1_SelectedIndexChanged, por isso não está danto certo
Bruno Ferreira de Souza
Analista Desenvolvedor .NET
MCP - Windows Form- Marcado como Resposta Bruno Gaiola sexta-feira, 24 de setembro de 2010 00:35
-